json模式是否允许基于另一个文件的属性值进行条件子模式设置?
示例:
Jsons:
another.json
{
"honey": "honey"
}
main.json
{
"hello": "abc"
}
架构
{
"type": "object",
"properties": {
"hello": {
"type": "string"
}
},
"required": ["hello"],
"if": {
"properties": {
"another.json#/honey": { -->> is this possible
"const": "honey"
}
}
},
"then": {
"properties": {
"hi": {
"type": "string"
}
},
"required": ["hi"]
}
}
main.json应该通过验证失败,并尖叫“ hi”是必需的,因为another.json具有“ honey”作为值。
现在,将another.json更改为
{
"honey": "not_honey"
}
应通过对main.json的验证
问题是
答案 0 :(得分:0)
不。 JSON Schema没有文件的概念,只有“一个JSON实例”,一次只能验证其中一个。您需要以某种方式自己组合它们。