首页  >  文章  >  web前端  >  有效 JSON 有哪些不同的定义?

有效 JSON 有哪些不同的定义?

DDD
DDD原创
2024-11-06 22:50:02896浏览

What are the Different Definitions of Valid JSON?

理解最小有效 JSON

JSON 的概念已在各种 RFC 和规范中广泛讨论。 RFC4627 最初将 JSON 定义为序列化对象或数组。根据此定义,只有 {}(空对象)[](空数组) 才有资格作为有效、完整的 JSON 字符串。

但是,ECMA-404引入了一项修正案,扩大了有效 JSON 字符串的范围。在此更新中,字符串数字truefalsenull{} (空对象)[](空数组) 都被视为有效的 JSON 字符串。

在 Web 浏览器领域,JSON 在 ES5 中标准化。 ES5 定义有效的 JSON 文本与 RFC 4627 相同,但有两个例外。首先,顶级 JSONText 生成可以由任何 JSONValue(包括字符串、数字、布尔值和 null)组成,而不是仅限于对象或数组。这意味着网络浏览器接受所有 JSON 值,即使底层 JSON 对象可能遵守 RFC 4627。

需要注意的是,不同的解析器可能有不同级别的支持完整范围的有效 JSON 字符串。例如,Ruby 只接受对象和数组作为根,而 PHP 在其编码和解码功能中明确包含标量类型和 NULL。

以上是有效 JSON 有哪些不同的定义?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn