根据这篇文章中的辩论:json-conversion-in-javascript
根据这篇文章中的辩论:json-conversion-in-javascript
Answers:
是的,数组作为顶级JSON文本是合法的。
有三个定义JSON的标准文档:RFC 4627,RFC 7159(已淘汰RFC 4627)和ECMA-404。它们在允许使用的顶级元素方面有所不同,但是都允许将对象或数组作为顶级元素。
是的,但是由于JSON劫持,在某些情况下您应该考虑将根作为对象。这是一个基于JavaScript覆盖数组构造函数的信息泄露漏洞。
这来自ECMAScript规范。
JSONText: JSONValue JSONValue: JSONNullLiteral JSONBooleanLiteral JSONObject JSONArray JSONString JSONNumber
在其他评论中看到了一些困惑。根据JSON RFC,“ application / json”媒体类型仅允许在顶层使用JSON文本的对象或数组。但是,对于解析器,可以使用任何JSON值,如ECMAScript规范所示。