2015-07-24 5 views
5

Ich möchte oneOf Schemata verwenden, die sich nur durch den Wert xyType unterscheiden. Ich möchte zwei von ihnen haben: eine, wo die xyType ist auf "1" und die zweite, wo xyType ist anderen Wert. Kann dies mithilfe von JSON-Schemas geschehen?Json Schema "nicht in" Enum-Typ?

"oneOf": [ 
    { 
     "properties": { 
      "xyType": "enum": ["1"], 
      "whatever" : "string" 
     }, 
     "type": "object" 
    }, 
    { 
     "properties": { 
      "xyType": "enum": [], /// NOT "1"? 
      "whatever" : "string" 
     }, 
     "type": "object" 
    } 
] 

Antwort

8

Es gibt einen not Operator und die enum Schlüsselwort, und Sie können sie zusammen verwenden, wie

{ 
    "not": { 
     "enum": ["1"] 
    } 
}