如何将Array转换为JSON

时间:2014-02-19 15:43:28

标签: javascript jquery json

一个简单的简单问题,如果我有

var obj = [ [contacts : [ name : "name1" , number : "number1" ] ], 
[contacts : [ name: "name2" , number : "number2" ] ]  ... ];

我想将其转换为单个Json字符串。

怎么做?

2 个答案:

答案 0 :(得分:5)

为什么您提出的结果无效

您提出的结果无效。它永远不会存在。

对象(由花括号{...}表示)本质上是字典。它们将键映射到值。因此,不指定任何键(如您所做的那样)是无效的。

您要寻找的数据结构是数组,用方括号([...])表示。

您当然可以通过在字典中指定编号索引来模仿类似数组的行为:

var obj = {
  0: firstElement,
  1: secondElement
};

// the same as*
var arr = [firstElement, secondElement];

*)请注意,objarr不相同!虽然数组是对象,但是原始形式的对象不提供数组函数,例如obj.length将是未定义的。

JSON!=对象文字符号

您似乎将术语 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);
相关问题