json-schema 额外的元数据

json-schema additional metadata

可以向 json 模式添加额外的或自定义的元数据(标题和描述除外)属性?

理想情况下,我想像这样添加一些元数据:

//...
"properties": {
  "contactFullName": {
    "$ref": "#/definitions/fullName",
    "custom": "my custom metadata here"
  }
}
//...

你可以添加一些东西到 definitions 来允许吗?

您可以使用描述 属性 并在其中放置一个特定的结构,然后可以根据需要对其进行解释和应用(可以这么说,就像 JSON 在 JSON 模式中).

您无需执行任何特殊操作即可使用其他元数据关键字。你可以只使用它们。在 JSON 架构中,包含未定义的关键字不是错误。任何没有 JSON 模式语义的东西都应该被悄悄地忽略。因此,以下模式是完全有效的,不应与任何验证器实现冲突。

{
  "title": "Foo",
  "description": "All the foo you can GET",
  "version": "1.0.3",
  "author": "Jason Desrosiers",
  "type": "object",
  "properties": {
    "id": { "type": "string" }
  }
}