Как сделать fetch локального JSON?
Как сделать fetch локального JSON?
Пытаюсь так:
import React from "react";
import "./styles.css";
export default function App() {
const onFetch = async () => {
const req = await fetch("./data.json");
return req.json();
};
const onMap = () => {
onFetch()
.then(data => data.json())
.then(data => console.log(data));
};
return <div className="App">{onMap()}</div>;
}
Но получаю
SyntaxError: Unexpected token < in JSON at position 0
Ответы (5 шт):
Автор решения: user372410
→ Ссылка
потому что вы два раза вызываете преобразование результата фетча в json на строке 7 и 12
Автор решения: RTW
→ Ссылка
Никак. Для этого нужно запустить бэкэнд с методами работы с файловой системой. Затем вашим фетч делать запрос на бэк, который будет считывать файл отправлять.
Автор решения: Александр Распопов
→ Ссылка
Зачем это вообще делать? Можно просто сделать импорт
import data from "./data.json";
Автор решения: Yurii
→ Ссылка
Вообще, можно через импорт получить json, а в вашем варианте к fetch запросу нужно указать полный путь и запустить через локальный сервер(await fetch("http://localhost:3000/data.json"))