2

我需要根据http://json-schema.org/定义的规范编写 JSON Schema 。但我正在为必需/强制性的属性验证而苦苦挣扎。下面是我编写的 JSON 模式,其中所有 3 个属性都是强制的,但在我的情况下,任何一个都应该是强制的。这个怎么做?。

{
    "id": "http://example.com/searchShops-schema#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "searchShops Service",
    "description": "",
    "type": "object",
    "properties": {     
            "city":{
                "type": "string"                
            },  
            "address":{
                "type": "string"                
            },      
            "zipCode":{
                "type": "integer"
            }                   
    },
    "required": ["city", "address", "zipCode"]
}
4

2 回答 2

0

如果您的目标是告诉“我希望至少有一个成员存在”,那么使用minProperties

{
    "type": "object",
    "etc": "etc",
    "minProperties": 1
}

"dependencies"另请注意,如果您还希望在此或该成员存在时存在其他约束,则可以使用效果很好。

于 2015-03-10T06:02:57.717 回答
0
{
  ...
  "anyOf": [
    { "required": ["city"] },
    { "required": ["address"] },
    { "required": ["zipcode"] },
  ]
}

或者如果应该存在一个属性,则使用“oneOf”

于 2015-06-21T00:22:21.357 回答