Firefox原生JSON.parse无法解析嵌套数组属性

时间:2012-06-26 13:23:39

标签: arrays json firefox nested

Native JSON.parse似乎在FF(使用中的版本13.0.1)中执行效果不佳,我在IE,Chrome和FF中尝试了以下测试代码。前2个浏览器似乎正确地将json字符串解析为Object而FF则没有。

var jsonObj = { 
        onetype: [
            {id:1,name:"First Name"},
            {id:2,name:"Second Name"}
        ]
};
var serializedJsonObj = JSON.parse(JSON.stringify(jsonObj));
serializedJsonObj.onetype[1].name;

我假设必须将“Second Name”打印到输出,但是不是这个FF只打印'undefined',因为obj.onetype属性实际上是一个字符串,要将它解析为一个对象,我们必须再次调用它上面的JSON.parse :

var jsonObj = { 
        onetype: [
            {id:1,name:"First Name"},
            {id:2,name:"Second Name"}
        ]
};
var serializedJsonObj = JSON.parse(JSON.stringify(jsonObj));
JSON.parse(serializedJsonObj.onetype)[1].name;

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

这是lib.js中包含的过时的Prototype.js库(谁会这样做?)。在阅读了2条评论后声称我的情况下这种行为无效我创建了一个测试页面,其中包含我遇到问题以测试它的真实案例,但它不再具有可再现性。