为什么有些JSON验证器将布尔值标记为无效JSON,其他有效?也就是说,只有true
或false
值(无对象)。
有效:
无效:
答案 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字符串。