Не удается прочитать файл JSON с помощью javascript

#javascript

#javascript

Вопрос:

У меня есть этот файл json, который я пытаюсь прочитать с помощью JS, но он возвращает синтаксическую ошибку: неожиданный токен в строке 2 «:»

Откуда может взяться эта ошибка?

    fetch('../json/destinations_data.json')
  .then(response => response.text())
  .then(data => {
    window.alert(data);
    console.log(data);
  });
 
 {
    "user1":{
        "email":"lucien.bramare@gmail.com",
        "password":"oss117",
        "prenom":"Lucien",
        "nom":"Bramare"
    },
    "user2":{
        "email":"noel.flantier@gmail.com",
        "password":"oss117",
        "prenom":"Noël",
        "nom":"Flantier"
    }
}
 

Ответ №1:

Вы анализируете его как текст, а не как JSON.

    fetch('../json/destinations_data.json')
      .then(response => response.json()) //<-- do this!
      .then(data => {
          window.alert(data);
          console.log(data);
      });
 

Ответ №2:

Вы читаете файл json, поэтому вместо использования response.text() use response.json()

    fetch('../json/destinations_data.json')
  .then(response => response.json())
  .then(data => {
    window.alert(data);
    console.log(data);
  });
 

Ответ №3:

В вашем json-файле имеется синтаксическая ошибка. Вы должны изменить свой формат. Пожалуйста, проверьте https://www.w3schools.com/js/js_json.asp

 users = [
    {
       "email":"lucien.bramare@gmail.com",
       "password":"oss117",
       "prenom":"Lucien",
       "nom":"Bramare"
   },
   {
       "email":"noel.flantier@gmail.com",
       "password":"oss117",
       "prenom":"Noël",
       "nom":"Flantier"
    }
];
 

Ответ №4:

Попробуйте проанализировать его как json, а не как текст

замените это

   .then(response => response.text())
 

с помощью этого

   .then(response => response.json())