I have a json document in which a part can be either null or a subobject, like this:
[{
"owner":null
},
{
"owner":{
"id":1
}
}]
The question is if its possible to model this in json schema draft v4 using ref?
What I would like is something like this
{
"type":"object",
"properties":{
"owner":{
"type":["null", "object"],
"$ref":"#/definitions/id"
}
},
"definitions":{
"id":{
"type":"object",
"properties":{
"id":{
"type":"number"
}
}
}
}
}
What you've posted should work, if you remove the
"type":"object"
from the definition.However, a neater, more explicit way to specify alternatives is to use
oneOf
. You can keep your"id"
definition untouched, and just use:nullable
field will be supported in OpenApi (aka Swagger) Specification v3.0.0So with this new spec your definition would look like: