JSON .parse error (Uncaught SyntaxError: Неожиданный токен o в JSON в позиции 1) - PullRequest
0 голосов
/ 10 апреля 2020
    $.getJSON(staticMS, function(data) {
        stockData = data.products_and_categories;
        console.log(stockData);
        var typeData = JSON.parse(stockData)
        console.log(typeData.itemType);
    });

Не уверен, что с этим не так, я получаю сообщение об ошибке «Uncaught SyntaxError: Неожиданный токен в JSON в позиции 1». Попытка получить доступ к части (itemType указан c ранее в скрипте) в части products_and_categories файла JSON.

Таблицы по продуктам и категориям (после того, как я нажму на 'object' в консоли):

Аксессуары: (8) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]

Шляпы : (6) [{…}, {…}, {…}, {…}, {…}, {…}]

Рубашки: (7) [{…}, {…}, { …}, {…}, {…}, {…}, {…}]

Штаны: (5) [{…}, {…}, {…}, {…}, {…} ]

1 Ответ

1 голос
/ 10 апреля 2020

Как отметил Саджиб, "stockData не является допустимой JSON строкой". Фактически, stockData, вероятно, является JS объектом, потому что

1) это поле при разборе JSON, а JSON обычно не содержит вложенных JSON

2) JSON.parse бросает свой параметр в строку. * * * * * * * * * * * * * * * * *. Синтаксический анализ приведет к появившейся ошибке «Неожиданный токен o в JSON в позиции 1».

Если мое предположение верно, то все, что вам нужно сделать, это удалить вложенный JSON.parse:

  $.getJSON(staticMS, function(data) {
        stockData = data.products_and_categories;
        console.log(stockData);
        var typeData = stockData;
        console.log(typeData.itemType);
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...