【发布时间】:2017-06-19 22:22:05
【问题描述】:
我不确定 JSON 模式是否可行,但我有类似的数据:
[1, 1, [0, 0, [true]], true]
如何验证 [0, 0, 1] 以使其中至少一项为 1/true?
到目前为止,我已经设法创建了架构:
{
"type": "array",
"items": {
"$ref": "#/definitions/_items"
},
"definitions": {
"_items": {
"anyOf": [
{
"enum": [
0,
1
],
"type": "integer"
},
{
"enum": [
false,
true
],
"type": "boolean"
},
{
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/definitions/_items"
}
]
}
}
]
}
}
}
显然,它确实验证了所有接受的值,但它没有考虑是否存在所有、一些、一个或没有值 1 / true。我误解了,anyOf、allOf 和 oneOf 是为此保留的……
【问题讨论】:
标签: json validation nested jsonschema