今日热议:
文本流null
是否为有效的JSON?
根据http://www.ietf.org/rfc/rfc4627.txt?number=4627:
...
2. JSON语法
JSON文本是一个令牌序列。标记集包括六个结构字符、字符串、数字和三个文字名称。
JSON文本是一个序列化的对象或数组。
这是否应该解释为两个语句都必须为真才能使文本成为有效的JSON?
- http://code.google.com/p/json-framework/issues/detail?id=49似乎(在底部)指示这是无效的。
- http://json.parser.online.fr/也会将其标记为无效。
但是,许多其他库似乎允许这样做,而且实际上,单个有效令牌似乎 * 可能 * 是合法的结果。
是否有明确的答案?
2条答案
按热度按时间uqcuzwp81#
RFC 7159及其后继RFC 8259放弃了JSON文本必须是对象或数组的限制。语法指定:
JSON-text = % ws值% ws
其中,
value = false / null / true / object / array / number / string
因此,“null”现在是一个有效的JSON文档。
czq61nw12#
[Note!此答案不再正确,请参阅@niksnut的答案。]
是的,这两种说法都必须正确。文本标记
null
是JSON * 值 *。JSON文本是一个序列化的对象或数组,需要{}或[]。