根据某些条件,我的IPV4可以有2个或3个属性,但这些属性是必需的。如何定义它。我试过下面的架构。我收到错误说" JSON对于来自' oneOf'的多个架构有效。有效的模式索引:0,1"
"IPv4Type": {
"type": "object",
"oneOf": [
{
"properties": {
"provider-address": {
"type": "string",
"format": "ipv4"
},
"customer-address": {
"type": "string",
"format": "ipv4"
},
"mask": {
"type": "number"
}
},
"required": [
"provider-address",
"customer-address",
"mask"
]
},
{
"properties": {
"provider-address": {
"type": "string",
"format": "ipv4"
},
"mask": {
"type": "number"
}
},
"required": [
"provider-address",
"mask"
]
}
]
}
答案 0 :(得分:0)
一些想法:
oneOf
,在一个对象中定义你的JSON,定义所有3个属性,但只添加" provider-address"和"掩码"根据需要"additionalProperties": false
oneOf
第二个定义
oneOf
替换为anyOf