在javascript中使用带有JSON对象的数组序列化对象

时间:2012-12-20 12:07:30

标签: javascript arrays json object

我有一个这样的对象:

obj = {"arr1" : [], "arr2" : ['z1', 'z2', 'z3'], "arr3" : []};
obj['arr2']['z2'] = 'z8';

它有嵌套数组,每个值都可以是带或不带数组的对象等。

如何获得JSON? JSON.stringify将丢失'z8'值。

2 个答案:

答案 0 :(得分:2)

arr2是一个数组。你不能像地图一样使用它。

var obj = {"arr1" : [], "arr2" : ['z1', {'z2':'z3'}], "arr3" : []};
obj['arr2'][1]["z2"] = 'z8';
alert(JSON.stringify(obj));​

Fiddle

答案 1 :(得分:2)

在JSON(按标准)中,您有Arrays, Objects, values and strings,数组不是JavaScript中的对象。 JSON只是一种数据交换格式,你没有像JavaScript这样的基本原型,几乎所有东西都是一个对象,并且具有属性。

因此,如果您希望拥有z3 z2的属性,则必须将z2作为对象。