我正在运行以下piece of code:
var arr = [];
arr["aaa"] = {
"xxx" : 1,
"ttt" : 2
};
arr["bbb"] = {
"xxx" : 5,
"qqq" : 6
};
var tmp = JSON.stringify(arr);
alert(tmp);
但结果是[]
。如何使用字符串键和对象值对数组进行字符串化?
答案 0 :(得分:2)
你无法做到这一点,原因有两个:
stringify
方法仅考虑数组中的数据,而不考虑属性。如果要在JSON中表示数组,则需要将数据放在实际数组中,而不是数组对象中的属性。
如果您想要JSON中的属性,则需要使用普通对象而不是数组。
答案 1 :(得分:2)
使用
var arr = {};
数组只应用于数字索引数据,而不能用于任意属性。当然,你能够做到这一点,因为它们实际上是对象。但它不会在JSON中工作。
相反,只需使用对象。