2

http://json-schema.org/で定義された仕様に基づいて JSON スキーマを作成する必要があります。しかし、必須/必須のプロパティの検証に苦労しています。以下は、3 つのプロパティすべてが必須である場合に記述した JSON スキーマですが、私の場合はいずれか 1 つが必須である必要があります。これを行う方法?。

{
    "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

あなたの目標が「少なくとも1人のメンバーが存在することを望んでいる」ことを伝えることである場合は、次を使用しますminProperties

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

"dependencies"これまたはそのメンバーが存在するときに追加の制約も存在させたい場合は、 を使用すると大きな効果が得られることにも注意してください。

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

または、プロパティが 1 つだけ存在する必要がある場合は、「oneOf」を使用します

于 2015-06-21T00:22:21.357 に答える