specify a value can be a string or null with json schema

允我心安 提交于 2019-12-05 08:33:30

问题


Hopefully this isn't obvious to others because I find the docs at http://json-schema.org/ to be lacking in finer details. I'm getting a block of json with some properties that can be null or a string. How do you specify, in a json schema (to be parsed by json.NET's JsonSchema.Parse method), that a value can be of type null or type string?

Is there something simple I'm missing like supplying an array for the type? For example;

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

Also, does anyone have a better source for json schema details then the json-schema.org? Where can I find a larger selection of examples? I don't want to read a big doc/spec to find something that can easily be demonstrated in a 10 line example.


回答1:


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

The value of this keyword MUST be either a string or an array. If it is an array, elements of the array MUST be strings and MUST be unique.

String values MUST be one of the seven primitive types defined by the core specification.

Then we refer to types: http://json-schema.org/latest/json-schema-core.html#anchor8

It lists string and null. Try:

"member_region": { "type": "string, null" }



回答2:


Extending on Explosion Pills answer if you go for the array syntax:

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

because you are stating a type not an example you shouldn't go for:

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


来源:https://stackoverflow.com/questions/16241333/specify-a-value-can-be-a-string-or-null-with-json-schema

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!