получить данные из json (локальный файл)

89
05 сентября 2021, 13:20

Пишу небольшое приложение в реакт. Добавил метод fetch в функциональный компонент.

fetch('src/data/data-socials.json')
        .then(res => {
            if(!res.ok){
                throw new Error("HTTP error " + res.status);
            }
            return res.json()
        }).then(data => console.log(data)).catch(err => console.log(err));

файл data-socials.json

{
  "instagramLink" :{
  "classOfSocial": "social instagram",
   "href" :"https://www.instagram.com",
  "classFaFa"   :"fa fa-instagram fa-2x"
},
  "vkLink" :{
    "classOfSocial": "social vk",
    "href" :"https://www.instagram.com",
    "classFaFa"   :"fa fa-vk fa-2x"
  },
  "linledOnLinl" :{
    "classOfSocial": "social linkedin",
    "href" :"https://www.linkedin.com/in",
    "classFaFa"   :"fa fa-linkedin fa-2x"
  }
}
**``` Ожидаю 3 обЪекта, а получаю ошибку JSON.parse:**
Answer 1

Локальный файл нельзя получить через fetch.

Если речь идёт о получении серверного файла с сайта, то следует его поместить в какое-то место, где раздающий сервер (а через него и клиент) сможет до него добраться. И вряд ли это будет папка с исходниками. К тому же, ты используешь относительный путь, который (в текущем виде) предполагает, что страница находится рядом с папкой src.

Если же речь идёт о node.js и доступе к файлу на самом сервере, то с json'ом отлично работает обычный require:

var data = require('./src/data/data-socials.json')

впрочем, он однократно загрузит файл и будет в последующем отдавать именноэту версию.

Если требуется считывать актуальную версию файла, стоит читать его самому при помощи fs.readFile, по необходимости удалять BOM, а затем отдавать строку в JSON.parse.

READ ALSO
Парсинг сайта php

Парсинг сайта php

Захотел автоматизировать выкладывание контента на своем канале в телеграмме, сел писать бота на пхпна глаз попался хороший сайтик парсить...

185
Скорость загрузки Google PageSpeed Insights

Скорость загрузки Google PageSpeed Insights

Я оптимизировал css код с помощью gulp, убрал не нужный код и минифицировал стилиНа проверке скорости оптимизации гугл выдаёт, что надо сократить...

290
background-size: cover и позиции элементов [закрыт]

background-size: cover и позиции элементов [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

93
Где взять stdafx.h в Visual Studio 2019?

Где взять stdafx.h в Visual Studio 2019?

Установил Visual Studio, скачать всё нужное начал работу и увидел что "stdafx" отсутствуетГде его можно найти в общем доступе для скачивания и куда...

231