我正在尝试使用 JQuery 解析一些从 AJAX 调用返回的 JSON。它似乎无法解析,JSLint 还说它是无效的 JSON。
但是,如果我直接创建对象,它可以工作并且我可以循环访问它 - 请参见下文:
var json = {layers:[{layer1:[17,16,15,14,12]}]}
alert(json)// <- This works and output object Object
var somestring = "{layers:[{layer1:[17,16,15,14,12]}]}"
var parsing = JSON.parse(somestring)
alert(parsing) // <- this doesn't and breaks on parse
// The below code will work provided the parsing is commented out
json.layers.forEach(function (outerObj)
{
Object.keys(outerObj).forEach(function (key)
{
outerObj[key].forEach(function (item)
{
alert(item)
});
});
});
我正在努力弄清楚为什么它不会解析,但似乎可以工作。
编辑
我意识到通过引号括起来layers
并layer1
修复它,只是不确定为什么它以一种方式工作 - 但不是另一种。