在jsonschema中,是否需要根据其他字段的值来指定特定字段?

时间:2020-07-02 06:56:53

标签: json jsonschema json-schema-validator

我在下面提到了两种情况,我想为其生成一个jsonschema。如果color的值为red,则将redQuote提交到jsonschema中。如果是black,则必须填写blackQuote。因此,所需的jsonschema字段取决于颜色值。如何使用if'/'then'/'else'关键字,或在草案07和'dependencies'中使用'dependentRequired' in draft2019-09

示例1

{
 "color": "red",
  "quote": {
                "is_apply": True,
               "redQuote": "something"
               }
}

示例2

{
 "color": "black",
  "quote": {
                 "is_apply": True,
               "blackQuote": "something"
               }
}

1 个答案:

答案 0 :(得分:1)

{
    "anyOf": [
        {
            "type": "object",
            "properties": {
                "color": {"const": "red"},
                "quote":{
                    "properties":{
                        "is_apply": {"type": "boolean"}
                    },
                    "required": ["redQuote"]
                }
            }
        },
        {
            "type": "object",
            "properties": {
                "color": {"const": "black"},
                "quote":{
                    "properties":{
                        "is_apply": {"type": "boolean"}
                    },
                    "required": ["blackQuote"]
                }
            }
        }
    ]
}

对我有用。如果还有其他方法,请随时发表评论。

相关问题