我在allOf块下有一个带有多个if-then条件的json模式。 此json模式应仅基于给定的输入数据进行验证。 这意味着基于输入的json数据,应该验证相应的if-then条件,而其余的if--条件应该直到和除非我在输入的json中提供了相应的值时才执行。
我曾尝试使用anyOf和oneOf,但其中任一个都能完成这项工作。
我有以下json模式,
{
"allOf": [
{
"if": {
"properties": {
"fruit": {
"enum": [
"Yes"
]
}
}
},
"then": {
"required": [
"apple"
]
}
},
{
"if": {
"properties": {
"tree": {
"enum": [
"Yes"
]
}
}
},
"then": {
"required": [
"oak"
]
}
}
]
}
并且正在使用以下输入
{
"fruit": "Yes",
"apple": "for health"
}
Am使用以下链接验证以上内容。 https://www.jsonschemavalidator.net/
因此,按照json模式,我有两个if-then条件,但是在我输入的json中,我只给出了一个if-then条件相关的数据。 但是出现错误,输入文件迫使我从另一个if-then条件中至少添加一个值。 我不想在输入json中添加所有值,因此如果有任何方法可以帮助我,并且如果做错了建议我建议其他方法。