Objetos y dependencias
Dentro de la definición de un objeto puede especificar que una propiedad determinada esté presente solamente si otra propiedad lo está. Según esto, la primera propiedad es dependiente de la segunda. Por ejemplo, imaginemos un objeto llamado member que tiene una propiedad llamada credit_card, definida como opcional. La propiedad billing_address del objeto puede definirse como dependiente de la propiedad credit_card. Es decir, la propiedad billing_address estará presente solamente si también lo está la propiedad credit_card.
Este tipo de dependencia puede especificarse de dos maneras distintas:
•como dependencia de propiedad (la estructura dependiente es una propiedad) o
•como dependencia de esquema (la estructura dependiente es un esquema).
Dependencias de propiedad
En la siguiente imagen puede ver un objeto que tiene una propiedad llamada name que es obligatoria, una propiedad llamada credit_card que es opcional y una propiedad llamada billing_address que es dependiente. La propiedad billing_address depende de la propiedad credit_card. El código de esta definición de objeto JSON aparece justo debajo de la imagen. Más abajo explicamos cómo crear dependencias de propiedad.
{ "type": "object", "properties": { "name": { "type": "string" }, "credit_card": { "type": "number" }, "billing_address": { "type": "string" } }, "required": [ "name" ], "dependencies": { "credit_card": [ "billing_address" ] }, "additionalProperties": false }
|
Siga estos pasos para crear una dependencia de propiedad:
1.Haga clic con el botón derecho en la propiedad en la que se basará la dependencia (en este ejemplo, la propiedad credit_card).
2.En el menú contextual seleccione el comando Agregar dependencia | Propiedad dependiente. Esto añade una propiedad nueva que tiene el valor Dependiente en el campo Repeticiones (ayudante de entrada Detalles).
3.Defina el nombre y valor de esta propiedad. Después puede añadir detalles o restricciones a la propiedad.
Siga estos pasos para especificar que una propiedad dependa de otra:
1.Haga clic con el botón derecho en la propiedad que debe ser dependiente de otra (en este ejemplo, la propiedad billing_address).
2.En el menú contextual seleccione el comando Dependiente. Otra manera de hacerlo es seleccionar el valor Dependiente en el campo Repeticiones del ayudante de entrada Detalles.
3.En el ayudante de entrada Detalles abra la lista desplegable del campo Dependiente de. Esta lista desplegable incluye las demás propiedades del objeto. Seleccione la propiedad de la que debe depender la propiedad actual.
Nota: | en los recuadros de las dos propiedades que tienen una relación de dependencia aparece un icono. Si hace doble clic en el icono de una propiedad, se selecciona la otra propiedad. |
Nota: | una propiedad puede tener más de una propiedad dependiente. |
Dependencias de esquema
En la imagen siguiente aparece un objeto que describe la misma estructura de datos que el objeto descrito en el apartado anterior. Sin embargo, las definiciones de los dos objetos son distintas. Mientras que en la definición anterior se usaba una dependencia de propiedad para definir la propiedad billing_address como dependiente de credit_card, en esta definición se usa una dependencia de esquema para definir la dependencia. El código de esta definición de objeto JSON aparece justo debajo de la imagen. Más abajo explicamos cómo crear dependencias de esquema.
{ "type": "object", "properties": { "name": { "type": "string" }, "credit_card": { "type": "integer" } }, "required": [ "name" ], "dependencies": { "credit_card": { "properties": { "billing_address": { "type": "string" } }, "required": [ "billing_address" ] } } }
|
Siga estos pasos para crear una dependencia de esquema:
1.Haga clic con el botón derecho en la propiedad en la que se basará la dependencia (en este ejemplo, la propiedad credit_card).
2.En el menú contextual seleccione el comando Agregar dependencia | Dependencia de esquema. Esto crea una definición de objeto nueva, que tendrá el mismo nombre que la propiedad de la que depende (en este ejemplo, la propiedad credit_card) y tendrá un subesquema secundario.
3.Defina el subesquema como quiera, añadiendo detalles y restricciones.
Nota: | en los recuadros de la propiedad y del objeto que tienen una relación de dependencia aparece un icono. Si hace doble clic en el icono de un recuadro, se selecciona el otro recuadro. |
Nota: | para establecer varias dependencias, créelas dentro del subesquema dependiente. |