1

我有一个这样的对象:

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

它有嵌套数组,每个值可以是一个有或没有数组的对象,等等。

如何为此获取 JSON?JSON.stringify 会丢失 'z8' 值。

4

2 回答 2

3

在 JSON 中(按标准),你有数组、对象、值和字符串,数组不像 JavaScript 中的对象。JSON 只是一种数据交换格式,你没有像 JavaScript 那样的基本原型,其中几乎所有东西都是对象并具有属性。

所以,如果你想拥有一个属性z3z2你必须创建z2一个对象。

于 2012-12-20T12:15:09.690 回答
2

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

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

小提琴

于 2012-12-20T12:14:43.503 回答