web-dev-qa-db-ja.com

値を文字列またはjsonスキーマのnullに指定できます

うまくいけば、私は http://json-schema.org/ のドキュメントがより詳細に欠けているので、他の人には明らかではありません。 nullまたは文字列の可能性があるいくつかのプロパティを持つjsonのブロックを取得しています。 jsonスキーマでどのように指定しますか(json.NETのJsonSchema.Parseメソッド)、値はnull型またはstring型にすることができますか?

タイプに配列を提供するような、私が見逃している単純なものはありますか?例えば;

  "member_region": { "type": [ "string", null ] } // this throws an exception

また、json-schema.orgよりもjsonスキーマの詳細のより良いソースがありますか?より多くの例の選択肢はどこにありますか? 10行の例で簡単に示すことができる何かを見つけるために、大きなdoc/specを読みたくありません。

42
evanmcdonnal

http://json-schema.org/latest/json-schema-validation.html#anchor79 から

このキーワードの値は、文字列または配列でなければなりません。配列の場合、配列の要素は文字列であり、一意である必要があります。

文字列値は、コア仕様で定義されている7つのプリミティブ型のいずれかである必要があります。

次に、タイプを参照します: http://json-schema.org/latest/json-schema-core.html#anchor8

文字列とnullをリストします。試してください:

"member_region": { "type": "string, null" }
71
Explosion Pills

あなたが配列構文に行くならば、爆発の丸薬での拡張は答えます:

"member_region": { "type": [ "string", "null" ] } // this works

あなたは行くべきではない例ではなく型を述べているので:

 "member_region": { "type": [ "string", null ] } // this throws an exception
30
zardilior