JSON 远程枚举的架构语法

JSON Schema syntax for a remote enum

我想知道用来自 Web 服务的远程数据描述枚举的正确方法是什么

{
  "type": "object",
  "properties": {
    "person": {
     "title": "Gender",
     "type": "string",
     "enum": REMOTE DATA
   }
  }
}

谢谢你的帮助 泽维尔

JSON-schema 只允许您通过 JSON Reference through the keyword $ref 在本地或远程引用其他模式。如何解析这些引用或多或少取决于 JSON-schema 库,它不包含针对 Web 服务解决问题的标准机制。

如果您可以在 public 位置发布您的 enum 数据,那么您可以将其引用为:

"$ref": "http://example.com/enumdata#"

或者如果您想在同一文档中解决它:

"$ref": "#/definitions/enumdata" 

另一种实用的方法是使用预处理任务来构建 JSON-schema。这样您就可以在使用之前从远程源填充枚举值。