example esquema array another jsonschema

jsonschema - esquema - ¿Cómo especificar una propiedad como nula o como referencia?



json schema reference another schema (2)

Tengo un documento json en el que una parte puede ser nula o un subobjeto, como este:

[{ "owner":null }, { "owner":{ "id":1 } }]

La pregunta es si es posible modelar esto en json schema draft v4 usando ref?

Lo que me gustaría es algo como esto

{ "type":"object", "properties":{ "owner":{ "type":["null", "object"], "$ref":"#/definitions/id" } }, "definitions":{ "id":{ "type":"object", "properties":{ "id":{ "type":"number" } } } } }


Lo que has publicado debería funcionar, si eliminas el "type":"object" de la definición.

Sin embargo, una forma más clara y explícita de especificar alternativas es usar oneOf . Puede mantener intacta su definición de "id" , y simplemente usar:

"owner":{ "oneOf": [ {"type": "null"}, {"$ref":"#/definitions/id"} ] }


nullable campo nullable será compatible con OpenApi (aka Swagger) Specification v3.0.0

Así que con esta nueva especificación su definición se vería como:

"properties":{ "owner":{ "nullable": true, ... } },