我有一个这样的对象:
obj = {"arr1" : [], "arr2" : ['z1', 'z2', 'z3'], "arr3" : []};
obj['arr2']['z2'] = 'z8';
它有嵌套数组,每个值都可以是带或不带数组的对象等。
如何获得JSON? JSON.stringify将丢失'z8'值。
答案 0 :(得分:2)
arr2是一个数组。你不能像地图一样使用它。
var obj = {"arr1" : [], "arr2" : ['z1', {'z2':'z3'}], "arr3" : []};
obj['arr2'][1]["z2"] = 'z8';
alert(JSON.stringify(obj));
答案 1 :(得分:2)
在JSON(按标准)中,您有Arrays, Objects, values and strings,数组不是JavaScript中的对象。 JSON只是一种数据交换格式,你没有像JavaScript这样的基本原型,几乎所有东西都是一个对象,并且具有属性。
因此,如果您希望拥有z3
z2
的属性,则必须将z2
作为对象。