【发布时间】:2020-09-30 06:41:51
【问题描述】:
我有一个 JSON 请求,我正在尝试针对 JSON 模式进行验证。我想知道是否有可能要求子模式中的字段与同一子模式中的字段值不同?我试过 anyOf、OneOf 和 IF,然后,Else 无济于事。 anyOf 返回错误“2 个子模式中只有 1 个匹配”,OneOf 返回“2 个子模式匹配而不是一个”。
{
"field1":"aaa",
"field2":"bbb"
"field3":{
"isTrue":true,
"inner1":"1",
"inner2":"1"
}
}
那么对于上面的Json,如果字段isTrue为真,我可以只需要字段inner1和inner2吗?
"field3": {
"type": "object",
"properties": {
"isTrue": {
"type":
"boolean"
},
"inner1": {
"type":
"integer"
},
"inner2": {
"type":
"string"
}
},
"anyOf": [
{
"properties": {
"isTrue": {
"const": "true"
}
},
"required": [
"inner1",
"inner2"
]
},
{
"properties": {
"isTrue": {
"const": "false"
}
},
"required": [
"isTrue"
]
}
]
}
以上是我冒犯的 Json 架构
【问题讨论】:
标签: json jsonschema json-schema-validator