【发布时间】:2019-02-05 13:26:55
【问题描述】:
我有一个 JSON:
{
"i0": {
"j0": {
"a0": true
}
},
"i1": {
"j1": {
"a1": "stuff"
}
}
}
我想要一个验证:
如果a0 为真,则应该需要a1。
我的架构目前是:
{
"$schema": "http://json-schema.org/draft-07/schema",
"id": "id",
"type": "object",
"required": [
"i0",
"i1"
],
"allOf": [
{
"if": {
"properties": {
"i0": {
"j0": {
"a0": true
}
}
}
},
"then": {
"properties": {
"i1": {
"j1": {
"required": [
"a1"
]
}
}
}
}
}
]
}
这个条件似乎实际上并没有运行。或者,如果我尝试将required 置于与我正在检查的值相同的级别,我已经看到了一个非常相似的工作条件。如:
"allOf": [
{
"if": {
"a0": true
},
"then": {
"required": [
"a1"
]
}
}
]
但这需要a1 与a1 一起位于j0 之下。
如何根据j0 下的值要求j1 下的对象?
【问题讨论】:
标签: json jsonschema json-schema-validator