我想验证JSON以使两个字段中的一个变得更加容易。
假设我们有两个字段(电子邮件地址和电话号码)。我想确保记录有效需要两个字段之一。
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "ExampleID-0212",
"title": "objectExamples",
"description": "Demo",
"type": "object",
"properties": {
"RecordObject": {
"type": "object",
"properties": {
"emailAddress": {
"type": "string"
},
"PhoneNumber": {
"type": "number"
}
}
}
},
"required": [
"RecordObject"
]
}
答案 0 :(得分:7)
您需要添加:
"anyOf": [
{ "required":
[ "emailAddress" ] },
{ "required":
[ "PhoneNumber" ] }
]
到RecordObject属性的模式。
它要求至少存在一个字段。如果您只需要一个字段(即不是两个字段),则需要使用" oneOf"关键字(其余部分应该相同)。
答案 1 :(得分:-4)
来自ESP的Sooperb答案......来自jsonSchema ......
你也可以通过以下方式进行验证。见下文
if(EmailAddress == null && PhoneNumber == null){
//statements or error message response
}