Json Schema - 使用引用使用枚举

时间:2016-08-31 12:56:55

标签: json jsonschema json-schema-validator

我试图为我的用例构建一个JSON schema,我在一个单独的文件中有一个字符串的枚举,并希望从我的模式中引用它。我怎样才能做到这一点。

示例架构:

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "card": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "value": {
                    "type": "string",
                    "enum": {"$ref" : "reference to a file having list of enums"}
                  //I want to refer to a specific enum array (say value1's array)
                }
            }
        }
    },
    "required": [
        "card"
    ]
}

枚举文件如下:

{
"value1": [..],
"value2": [..]
....
}

1 个答案:

答案 0 :(得分:2)

$ref应仅用于引用模式。所以,你可以这样做。

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "card": {
            "type": "object",
            "properties": {
                "id": { "type": "integer" },
                "value": { "$ref" : "/schemas/valueEnum.json" }
            }
        }
    },
    "required": ["card"]
}

/schemas/valueEnum.json

{ "enum": ["foo", "bar"] }