javascript - JSON.parse 错误(未捕获的 SyntaxError : Unexpected token o in JSON at position 1)

标签 javascript json google-chrome-extension

    $.getJSON(staticMS, function(data) {
        stockData = data.products_and_categories;
        console.log(stockData);
        var typeData = JSON.parse(stockData)
        console.log(typeData.itemType);
    });

不确定这有什么问题,我不断收到“Uncaught SyntaxError: Unexpected token o in JSON atposition 1”错误。尝试访问 JSON 文件的 products_and_categories 部分下的部分(itemType 在脚本前面是特定的)。

产品和类别下的表格(在控制台中单击“对象”后):

配件:(8) [{…}、{…}、{…}、{…}、{…}、{…}、{…}、{…}]

帽子:(6) [{…}, {…}, {…}, {…}, {…}, {…}]

衬衫:(7) [{…}、{…}、{…}、{…}、{…}、{…}、{…}]

裤子:(5) [{…}, {…}, {…}, {…}, {…}]

最佳答案

正如 Sajeeb 评论的那样,“stockData 不是有效的 JSON 字符串。”事实上,stockData 很可能是一个 JS 对象,因为

1) 它是解析 JSON 上的一个字段,并且 JSON 通常不包含嵌套 JSON

2) JSON.parse 将其参数转换为字符串。字符串化的 JS 对象是'[object Object]'。解析它会产生您看到的错误,“JSON 中位置 1 处出现意外的标记 o”。

如果我的假设是正确的,那么您所需要做的就是删除嵌套的 JSON.parse:

  $.getJSON(staticMS, function(data) {
        stockData = data.products_and_categories;
        console.log(stockData);
        var typeData = stockData;
        console.log(typeData.itemType);
    });

关于javascript - JSON.parse 错误(未捕获的 SyntaxError : Unexpected token o in JSON at position 1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61146760/

相关文章:

javascript - 使用 jQuery 的 slider 幻灯片

javascript - 主干 View UI

javascript - HTML 表格上的枢轴对象

python - 解码 json 并遍历 django 模板中的项目

javascript - chrome.windows.getAll() 未定义?

javascript - jQuery 选择器问题 : clicking one element will modify the immediate next element

Java Jackson JSON 解析为 Map<String, String>

c# - WCF 服务和 JavaSerializer 解码器中的日期问题

javascript - Chrome 扩展程序页面操作未显示在多功能栏旁边

css - 如何包含 Chrome 扩展内容脚本的样式?