参考
注释
JSON Schema 包含一些关键字,这些关键字不严格用于验证,而是用于描述模式的各个部分。这些“注释”关键字都不需要,但鼓励为了良好的实践使用它们,并可以使您的模式“自文档化”。
注释关键字可以在任何模式或子模式中使用。与其他关键字一样,它们只能使用一次。
The title
和 description
关键字必须是字符串。一个“标题”最好简短,而一个“描述”将提供关于模式所描述的数据目的的更详细的解释。
The default
关键字指定一个默认值。此值不用于在验证过程中填充缺失的值。非验证工具(例如文档生成器或表单生成器)可以使用此值来提示用户如何使用值。但是,default
通常用于表示如果一个值丢失,那么该值的语义与该值存在且为默认值时相同。The default
的值应该通过它所处的模式进行验证,但这不是必需的。
draft 6 中的新功能
The examples
关键字是一个提供验证模式的示例数组的地方。这不用于验证,但可能有助于向读者解释模式的效果和目的。每个条目都应该通过它所处的模式进行验证,但这并不是严格要求的。没有必要在 examples
数组中复制 default
值,因为 default
将被视为另一个示例。
draft 7 中的新功能
布尔关键字 readOnly
和 writeOnly
通常用于 API 上下文中。 readOnly
指示不应修改值。它可以用于指示更改值的 PUT
请求会导致 400 Bad Request
响应。 writeOnly
指示可以设置值,但它将保持隐藏状态。它可以用于指示您可以使用 PUT
请求设置值,但它不会包含在使用 GET
请求检索该记录时。
draft 2019-09 中的新功能
The deprecated
关键字是一个布尔值,表示该关键字适用的实例值不应使用,并且将来可能会被删除。
schema
{ "title": "匹配任何内容", "description": "这是一个匹配任何内容的模式。", "default": "默认值", "examples": [ "任何内容", 4035 ], "deprecated": true, "readOnly": true, "writeOnly": false}