随着时间的推移,JSON 语法的定义发生了细微的变化,导致人们对有效 JSON 的精确标准感到困惑。 JSON 字符串。
最初, JSON 的规范(如 RFC 4627 中定义)严格限制有效 JSON 为序列化对象 ({}) 和数组 ([])。这意味着字符串、数字、true 和 false 等简单值本身不被视为有效的 JSON。
但是,ECMA-404 的引入扩展了JSON 的定义包括顶级 JSONValues,其中包含所有 JSON 数据类型。因此,Web 浏览器现在允许所有 JSON 值作为有效的 JSON。
需要注意的是,浏览器基于 ES5 实现 JSON 对象,这允许标量类型和 NULL 作为有效的 JSON 值。这是原始 RFC 4627 规范的一个例外。因此,一些其他实现(例如 Ruby)严格遵守 RFC 4627,从而导致对有效 JSON 的不同解释。
理解这些细微差别至关重要,尤其是在使用不同的 JSON 时解析器和编码器。必须确认实现是否严格遵循 RFC 4627 还是采用更宽松的 ECMA-404 定义,因为这会影响 JSON 字符串的验证。
以上是有效 JSON 的定义是什么:RFC 4627 与 ECMA-404?的详细内容。更多信息请关注PHP中文网其他相关文章!