次のようなJSONを検証する必要があります。
{
"propertyName1" : "value",
"propertyName2" : ["value1", "value2"],
"propertyName3" : { "operator1" : "value" },
"propertyName4" : { "operator2" : ["value1", "value2"] },
...
}
したがって、propertyName
は任意のキーであり、演算子が定義されています。
次のようなスキーマを使用する必要があると思います。
{
"id" : "urn:my_arbitrary_json#",
"type" : "object",
"required" : false,
"additionalProperties" : {
"id" : "urn:my_arbitrary_key#",
"type" : "object",
"required" : true,
"properties" : {
"operator1" : { ... },
"operator2" : { ... }
}
}
}
ただし、このスキーマにはpropertyName1
、propertyName2
ケースの定義がありません。さまざまなタイプのを検証するために配列を定義したいのですadditionalProperties
が、これは仕様によれば正しくありません。そのようなJSONを検証する方法はありますか?
特定のデータがさまざまな形になる可能性がある場合は、oneOf
またはを使用できますanyOf
。たとえば、ここでは次のことができます。
{
"type" : "object",
"additionalProperties" : {
"oneOf": [
{... string ...},
{... array of strings ...},
...
]
}
}
実際、ここでのオプションはすべて異なるタイプであるため、type
代わりに複数のエントリを含めることができます。
{
"type" : "object",
"additionalProperties" : {
"type": ["string", "array", "object"],
"items": {"type": "string", ...}, // constraints if it's an array
"properties": {...} // properties if it's an object
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加