繁体   English   中英

JSON.parse 错误(未捕获的 SyntaxError:JSON 中的意外标记 o 在 position 1)

[英]JSON.parse error (Uncaught SyntaxError: Unexpected token o in JSON at position 1)

    $.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 at position 1”错误。 尝试访问 JSON 文件的 products_and_categories 部分下的部分(itemType 在脚本前面是特定的)。

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

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

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

衬衫:(7) [{...}, {...}, {...}, {...}, {...}, {...}, {...}]

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

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

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

2) JSON.parse将其参数转换为字符串。 JS object 字符串化为'[object Object]' 解析这将产生您看到的错误,“在 position 1 处的 JSON 中出现意外的令牌 o”。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM