#javascript #json #parsing
#javascript #json #синтаксический анализ
Вопрос:
У меня есть файл json с именем myjson.json, который выглядит следующим образом:
{
"num": 5
}
Теперь я делаю http-запрос, чтобы получить этот json:
let http = new XMLHttpRequest();
let url = "http://localhost/myjson.json";
http.open("GET", url);
http.onreadystatechange = (e) => {
if(http.status === 200){
try{
let {num} = JSON.parse(http.responseText);
console.log(num); //This Prints The Number 5 in the console
}catch(err){
console.log('Error parsing the num: ' err); //*This runs as well. The err = SyntaxError: Unexpected end of JSON input
}
}else{
console.log('Error retrieving the num: ' http.status);
}
}
http.send();
Итак, в консоли отображается число 5, так что, похоже, синтаксический анализ выполнен правильно, но я получаю следующую ошибку в консоли:
Error parsing the index : SyntaxError: Unexpected end of JSON input
Похоже, это работает, но появляется эта ошибка. Что я могу сделать, чтобы устранить эту ошибку?
Комментарии:
1. Что дает печать
http.responseText
? И вы можете попробовать без деструктурированияnum
, например.let num = JSON.parse(http.responseText);
затемnum = num.num
…2. Он отображает точно такое же содержимое файла myjson.json
3. Сообщение » Ошибка при разборе индекса » не исходит из опубликованного вами кода