布尔值是否有效JSON

时间:2016-09-06 15:01:42

标签: json validation boolean

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

有效:

无效:

1 个答案:

答案 0 :(得分:24)

您链接的验证程序根据RFC 4627验证仅存在true仅作为无效的JSON字符串,这表明JSON字符串的根将是一个数组或对象:

  

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

 JSON-text = object / array

根据该RFC ,true"foo"42等未展开的值不是JSON

它可以验证的另一个RFC RFC 7159认为上述示例有效,因为它不会将JSON文本约束到对象或数组,但也允许

  

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

 false null true

由于前者(RFC 4627)已被后者废弃(RFC 7159),true 是有效的JSON字符串。