一个简单的简单问题,如果我有
var obj = [ [contacts : [ name : "name1" , number : "number1" ] ],
[contacts : [ name: "name2" , number : "number2" ] ] ... ];
我想将其转换为单个Json字符串。
怎么做?
答案 0 :(得分:5)
您提出的结果无效。它永远不会存在。
对象(由花括号{...}
表示)本质上是字典。它们将键映射到值。因此,不指定任何键(如您所做的那样)是无效的。
您要寻找的数据结构是数组,用方括号([...]
)表示。
您当然可以通过在字典中指定编号索引来模仿类似数组的行为:
var obj = {
0: firstElement,
1: secondElement
};
// the same as*
var arr = [firstElement, secondElement];
*)请注意,obj
和arr
不相同!虽然数组是对象,但是原始形式的对象不提供数组函数,例如obj.length
将是未定义的。
您似乎将术语 JSON 与您在 JavaScript 代码中使用的语法混淆,后者称为对象文字符号
<强> JSON 强>
这是一种数据格式。
{
"key": "value"
}
// or
[
"first",
"second"
]
...
需要在键周围加双引号。有关语法的更多信息,请参阅http://json.org。
对象文字
它们嵌入在JavaScript代码中。
// JS code
alert("Test, this is JS code"); // sample
var obj = {
1: "abc",
2: ["first", "second"]
};
在这种情况下,键周围的双引号是可选的。
答案 1 :(得分:1)
试试这个:
var myJsonString = JSON.stringify(yourArray);