【发布时间】:2021-02-24 20:38:49
【问题描述】:
考虑以下 json 架构:
{
"type": "array",
"items": {
"anyOf":[
{
"type": "object",
"additionalProperties":false,
"properties": {
"foo":{"type":"string"}
}
},
{
"type": "object",
"additionalProperties":false,
"properties": {
"bar":{"type":"number"}
}
}
]
}
}
我如何指定anyOf 中的第一个架构可能会无限期出现,而第二个架构可能只会出现一次?
下面的json应该是有效的,因为它只包含一个匹配第二个anyOf模式的元素:
[
{
"foo":"hello"
},
{
"foo":"world"
},
{
"bar":42
}
]
下面的 json 应该是无效,因为它包含多个匹配第二个 anyOf 架构的元素:
[
{
"foo":"hello"
},
{
"foo":"world"
},
{
"bar":42
},
{
"bar":24
}
]
我正在寻找任何 json-schema 草案版本的解决方案。
【问题讨论】:
标签: arrays json validation jsonschema