javascript中的JSON转换

Hec*_*ret 2 javascript parsing json

我正在尝试将多数组变量字符串化为Javascript中的JSON字符串.该

//i'm using functions from http://www.json.org/json2.js

var info = new Array(max);
for (var i=0; i<max; i++) {
  var coordinate = [25 , 32];
  info[i] = coordinate;
}
var result = JSON.stringify(info);
Run Code Online (Sandbox Code Playgroud)

但结果看起来根本不像JSON字符串.我在这做错了什么?

Tri*_*ych 8

您和此问题中的许多人对JSON规范感到困惑.您拥有的字符串是有效的JSON数组.

来自json.org

JSON基于两种结构:

  • 名称/值对的集合.在各种语言中,这被实现为对象,记录,结构,字典,散列表,键控列表或关联数组.
  • 有序的值列表.在大多数语言中,这被实现为数组,向量,列表或序列.

您的示例匹配第二个结构 - 有序的值列表.

也来自json.org:

数组是有序的值集合.数组以[(左括号)开头,以]结尾(右括号).值以(逗号)分隔.

值可以是双引号中的字符串,也可以是数字,或者true或false或null,或者是对象或数组.这些结构可以嵌套.

不会留下太多的想象力.你那里有一个有效的JSON数组.玩得开心.但只是烦恼彻底:

来自RFC

RFC 4627,第2节

2)JSON语法

JSON文本是一系列标记.标记集包括六个结构字符,字符串,数字和三个文字名称.

JSON文本是序列化对象或数组.

  JSON-text = object / array
Run Code Online (Sandbox Code Playgroud)


yle*_*bre 6

结果对我来说是这样的:

[[25,32],[25,32],[25,32],[25,32],[25,32],[25,32],[25,32],[25,32],[25,32],[25,32]]
Run Code Online (Sandbox Code Playgroud)

据我所知,这很好。它可能看起来有点奇怪,但这主要是因为 JSON 大量用于对象,而对象的表示法略有不同。您可以评估字符串并返回数组结构,所以它对我来说看起来很好。

  • RFC 规定数组是合法的顶级 JSON 文本。http://www.ietf.org/rfc/rfc4627.txt?number=4627 (5认同)
  • @annakata,这显然是有效的 JSON。我不确定怎么会有人不同意。请访问 json.org(主页)查看 (4认同)
  • 来自 json.org:数组是值的有序集合。数组以 [(左括号)开始,以 ](右括号)结束。值由 ,(逗号)分隔。所以,是的,对我来说,它看起来像是二维数组的正确 JSON 表示形式。 (3认同)
  • @ylebre - 我认为令人困惑的是,有些人不相信数组可以是顶级 JSON 文本(使用 RFC 中的术语)。 (2认同)