我在下面提到了两种情况,我想为其生成一个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"
}
}
答案 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"]
}
}
}
]
}
对我有用。如果还有其他方法,请随时发表评论。