【问题标题】:Are booleans valid JSON布尔值是否有效 JSON
【发布时间】:2017-01-14 02:24:24
【问题描述】:

为什么一些 JSON 验证器将布尔值标记为无效 JSON,而另一些则标记为有效?也就是说,只有 truefalse 值(无对象)。

有效:

无效:

【问题讨论】:

  • 有这个“无效”json 的例子吗?指着一些工具说哪些有效/无效是毫无意义的,除非你能证明他们所谓的“坏”。
  • { "booleanExample": true } 已经过验证。
  • 更新原帖

标签: json validation boolean


【解决方案1】:

您链接到的验证器根据RFC 4627 验证仅存在true 的JSON 字符串无效,这表明JSON 字符串的根是数组或对象:

JSON 文本是一个序列化的对象或数组。

 JSON-text = object / array

true"foo"42 等未包装的值不是 JSON根据该 RFC

它可以验证的其他 RFC,RFC 7159RFC 8259,认为上述示例有效,因为它不将 JSON 文本限制为对象或数组,但也允许

JSON 值必须是对象、数组、数字或字符串,或其中之一 以下三个字面名称:

 false null true

并且由于前者(RFC 4627)已被后两者(RFC 7159 分别为 8259)淘汰,true 一个有效的 JSON 字符串。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-06
  • 2016-09-28
  • 1970-01-01
相关资源
最近更新 更多