在定义部分中给出具有以下内容的JSON模式:
"phoneNumber": {
"type": "object",
"properties": {
"countryCode": {
"type": "number"
},
"areaCode": {
"type": "number"
},
"number": {
"type": "number"
},
"extension": {
"type": "number"
},
"service": {
"type": "string",
"enum": ["Voice", "Fax", "Data"]
},
"class": {
"type": "string",
"enum": ["Switchboard", "Direct", "PA", "Mobile"]
}
}
}
如果我想在其他地方使用$ ref包含phoneNumber并希望JSON验证它是否包含多次出现的phoneNumber,我可以使用maxItems / minItems:
"person": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"phoneNumber": {
"$ref": "#/definitions/phoneNumber"
//can I use maxItems/minItems here?
}
}
}
我可以在这里使用maxItems和minItems,或者我必须做以下这样的事情才能验证:
"phoneNumber": {
"allOf": { "$ref": "#/definitions/phoneNumber" },
"maxItems": 4
}
答案 0 :(得分:1)
$ref
必须独立。您使用allOf
标识的选项是最佳方式。
JSON参考对象中除“$ ref”以外的任何成员都应被忽略。