$.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/