JSON 中的顶级值必须是数组还是对象?

Pat*_*ney 3 standards json

此对象文字是有效的 JSON:

{ "foo" : "bar"}
Run Code Online (Sandbox Code Playgroud)

这个数组字面量也是如此:

["foo", "bar", 1, 2, 3, null]
Run Code Online (Sandbox Code Playgroud)

但是字符串本身呢?

"foo"
Run Code Online (Sandbox Code Playgroud)

还是一个数字本身?

 0
Run Code Online (Sandbox Code Playgroud)

Jon*_*ley 6

最近的 JSON 规范(RFC 7159 Mar 2014 和ECMA-404)将 JSON 文本定义为围绕任何 JSON 值的可选空格,其中值是以下任一值:

  • 目的
  • 大批
  • 细绳
  • 数字
  • 真的
  • 错误的
  • 空值

(请参阅第2. JSON 语法和第3. 值部分的开头)

较旧的 JSON 规范(RFC 4627,已过时)仅允许顶级元素为对象或数组。