JSON模式:基于值的依赖性

时间:2017-11-14 23:23:25

标签: java json validation jsonschema

我需要进行以下验证:

  1. 如果isLegal为false,则分发国家/地区不应出现
  2. 如果isLegal是真的,分发国家应该在场
  3. 注意:我知道使用anyOf可以提供解决方案,但我需要一个使用依赖项的解决方案,因此我没有两个不同的json模式结构,因为我用它来创建JAVA类,我不想要多个类。

    是否可以使用JSON架构?下面是我最接近的。在这里我只缺少一次验证,如果isLegal为true且分布国家不存在,则不会抛出错误

    {  
        "type":"object",
        "additionalProperties":false,
        "properties":{  
            "isLegal":{  
                "type":"boolean"
            },
            "distributionCountries":{  
                "type":"array",
                "additionalItems":false,
                "minItems":1,
                "items":{  
                    "type":"string",
                    "enum":[  
                        "AF",
                        "AX",
                        "AL",
                        "DZ",
                        "AS",
                        "AD"
                    ]
                }
            }
        },
        "dependencies":{  
            "distributionCountries":{  
                "properties":{  
                    "isLegal":{  
                        "enum":[  
                            true
                        ]
                    }
                }
            }
        }
    }
    

0 个答案:

没有答案