JSON 领域经常引发这样的问题:有效 JSON 字符串的最低限度是什么?本文对此问题进行了深入探讨。
早期,RFC4627 是 JSON 规范的权威来源。该标准规定“{}”和“[]”均表示有效的独立 JSON 字符串。所有其他实例均被视为无效。
但是,此方法随着 ECMA-404 的引入而演变,带来了重大变化。
ECMA-404 扩展了有效 JSON 值的定义,不仅包括对象和数组,还包括字符串、数字等。因此,更广泛的字符串变得有效,包括像“string”这样的文字和像 42 这样的数值。
然而,Web 浏览器已经采用了自己的标准,受ES5 规范。此版本的规范允许任何有效的 JSON 值,包括布尔值(例如“true”)作为 JSON 字符串的根。
需要注意的是,并非所有JSON 实现遵循相同的标准。例如,Ruby 在实现上保持严格,只接受对象和数组作为有效根。另一方面,PHP 包含允许标量和空值的异常。
随着时间的推移,有效 JSON 的定义发生了微妙但重大的变化。虽然“{}”和“[]”仍然是最基本的形式,但现代规范允许更广泛的字符串值。了解不同实现的细微差别对于确保兼容性和防止意外的解析错误至关重要。
以上是什么定义了有效的 JSON 字符串:深入探讨标准的演变的详细内容。更多信息请关注PHP中文网其他相关文章!