如何在Javascript中对数组进行字符串化?

时间:2014-06-14 20:26:00

标签: javascript arrays json stringify

我正在运行以下piece of code

var arr = [];

arr["aaa"] = {
    "xxx" : 1,
    "ttt" : 2
};

arr["bbb"] = {
    "xxx" : 5,
    "qqq" : 6
};

var tmp = JSON.stringify(arr);

alert(tmp);

但结果是[]。如何使用字符串键和对象值对数组进行字符串化?

2 个答案:

答案 0 :(得分:2)

你无法做到这一点,原因有两个:

  • stringify方法仅考虑数组中的数据,而不考虑属性。
  • 对于具有属性的数组,没有JSON格式。

如果要在JSON中表示数组,则需要将数据放在实际数组中,而不是数组对象中的属性。

如果您想要JSON中的属性,则需要使用普通对象而不是数组。

答案 1 :(得分:2)

使用

var arr = {};

数组只应用于数字索引数据,而不能用于任意属性。当然,你能够做到这一点,因为它们实际上是对象。但它不会在JSON中工作。

相反,只需使用对象。