参考
本文档中使用的约定
特定于语言的说明
当来自其他动态语言时,JavaScript 和 JSON 中基本类型的名称可能会造成混淆。我白天是 Python 程序员,因此我已经在这里记录了事物名称与 Python 中的不同之处,以及其他特定于 Python 的有关使用 JSON 和 JSON Schema 的建议。我绝不是想在这本书中创造对 Python 的偏见,但这正是我所知道的,所以从这里开始。从长远来看,我希望这本书对所有类型的程序员都很有用,因此如果您有兴趣将 Python 参考翻译成 Algol-68 或您可能知道的任何其他语言,欢迎您提出拉取请求!
特定于语言的部分以每个语言的选项卡显示。选择一种语言后,该选择将在您从页面到页面继续阅读时被记住。
例如,这里有一个特定于语言的部分,其中包含有关在几种不同语言中使用 JSON 的建议
特定于草案的说明
JSON Schema 标准已经经历了多次修订或 "草案"。当前版本是草案 2020-12,但一些较旧的草案仍然被广泛使用。
本文档旨在鼓励使用草案 2020-12,并优先考虑最新的约定和功能,但在与早期草案不同的情况下,会突出显示这些差异。如果您只希望针对草案 2020-12,则可以安全地忽略这些部分。
示例
本书中有很多示例,它们都遵循相同的格式。每个示例的开头都是一个简短的 JSON schema,说明了特定的原则,然后是与该 schema 有效或无效的简短 JSON 片段。有效的示例以绿色显示,带有一个对勾。无效的示例以红色显示,带有一个叉号。通常,它们之间会有注释来解释某件事为什么有效或无效。
这些示例在构建本书时会自动测试,因此希望它们不仅有用,而且正确!
这些示例在构建本书时会自动测试,因此希望它们不仅有用,而且正确!
例如,这里有一个代码段说明了如何使用 number
类型
简单的浮点数
指数表示法也适用
字符串形式的数字被拒绝