Неожиданный токен o в JSON в позиции 1 в консоли - PullRequest
0 голосов
/ 09 мая 2018

это содержимое файла с именем menu.json:

 { "name":"John", "city":"New York"}

Я хочу использовать jquery для анализа файла json в консоли Chrome

var res = $.getJSON("menu.json", function() {})

        .done(function() {
            var obj = $.parseJSON(res);
            console.log(obj.name);
        });

Почему-то Chrome говорит " Uncaught SyntaxError: Неожиданный токен o в JSON в позиции 1 "

Я запускаю страницу в MAMP и на вкладке сеть, я могу видеть файл json, который был загружен правильно. Почему происходит эта ошибка. Любая помощь очень ценится!

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Данные уже будут проанализированы. Просто примите ответ в качестве входа для готового обратного вызова.

0 голосов
/ 09 мая 2018

Вы пытаетесь декодировать объект, а не строку JSON.

То, что вы пытаетесь декодировать, сериализуется до того, как оно передается в JSON-декодер как [object Object], следовательно, o с индексом 1.

Вернитесь к документам getJSON , и вы увидите, что неправильно настраиваете обратный вызов. Возвращаемое значение, которое вы храните в res, не то, что вы думаете. Вам нужно собрать аргумент для вашей функции обратного вызова - это то место, где будет ваш декодированный ответ.

Это должно вывести вас на правильные строки:

$.getJSON("menu.json")
.done(function(obj) {
    console.log(obj.name);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...