【问题标题】:Minimal JSON data structure containing a value [duplicate]包含值的最小 JSON 数据结构 [重复]
【发布时间】:2016-11-19 15:18:54
【问题描述】:

查看json spec,我不确定value 是否允许独立存在,或者仅允许作为objectarray 结构的一部分。

这是有效的 JSON:

[123]

但这是有效的 JSON:

123

【问题讨论】:

  • 在控制台中试试JSON.parse(123)
  • @torazaburo 我尝试了几个在线解析器和验证器,其中大约一半表示它不是有效的 JSON。他们可能正在为服务器端语言使用著名的库,但它们有所不同。如果不同的浏览器在其控制台中给出不同的答案,我一点也不感到惊讶。因此我询问了 spec.
  • 哪个在线验证器?

标签: json


【解决方案1】:

每个ECMA-404, The JSON Data Interchange Standard (pdf),从您链接的 JSON.org 页面链接:

JSON 文本是由符合 JSON 值语法的 Unicode 代码点形成的标记序列。

还有:

JSON 值可以是对象、数组、数字、字符串、true、false 或 null。

因此,123 的值是有效的 JSON,表示一个整数。

【讨论】:

  • ... that conforms to the JSON value grammar. - 这正是我想知道的重要一点,谢谢!
  • 我没有意识到“ECMA-404, The...”实际上是一个链接! :)) 可用性失败:访问过的链接是棕色的!
【解决方案2】:

允许一个值独立。

该规则几年前已更改。

【讨论】:

  • 你必须用“旧规则”向我展示过时的参考资料,以说服我以前不是这样。多年来我一直在使用 JSON,它始终允许值独立(在对象或数组之外)。
  • (不是说你需要说服我;))
  • @JAAulde 请看rfc4627。维基百科文章中也提到了这一点。
  • 我明白你在说什么,但我相信它很模棱两可。我想说后面的文件是澄清而不是改变。不过,我很可能是错的。干杯!
猜你喜欢
  • 2012-09-27
  • 2011-03-17
  • 1970-01-01
  • 2016-11-21
  • 2018-07-11
  • 2018-06-24
  • 1970-01-01
  • 2018-12-28
  • 2013-01-14
相关资源
最近更新 更多