es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Esquema JSON: Propiedades adicionales false para objetos integrados.

Tengo un esquema json con cientos de objetos, cada uno de ellos contiene otros objetos y así sucesivamente…

Quiero que todos mis objetos de esquema json tengan la opción “additionalProperties” establecida en falso, pero parece que tengo que establecerlo para cada objeto en el esquema json.

¿Existe alguna solución para establecer “additionalProperties” en falso una vez para todos los objetos, incluidos múltiples niveles de objetos incrustados en todo el esquema?

{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Modified JSON Schema draft v4 that includes the optional '$ref' and 'format'",
"type": "object",
"properties": {
    "id": {
        "type": "string"
    },
    "box": {
        "type": "object",
        "properties": {
            "anotherBox": {
                "type": "object",
                "properties": {
                    "name": {
                      "type": "string"
                    }
                }
            }
         }
    },
    "title": {
        "type": "string"
    }
}
}

Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, no hay forma de establecer “additionalProperties” como falso para múltiples niveles de objetos incrustados de una sola vez. Tendrás que establecerlo para cada objeto individualmente. Esto se debe a que la palabra clave “additionalProperties” solo se puede aplicar al objeto actual en el que está definido, y no a sus objetos padre o hijos.

    Sin embargo, existen herramientas disponibles que pueden ayudarte a automatizar este proceso si tienes cientos de objetos para modificar. Por ejemplo, puedes escribir un script que recorra todo tu esquema JSON y establezca “additionalProperties” como falso para cada objeto.

    Alternativamente, podrías considerar usar un enfoque diferente para definir tu esquema JSON. Por ejemplo, puedes usar la palabra clave “allOf” para combinar múltiples esquemas más pequeños en uno más grande. Al aplicar la palabra clave “additionalProperties” a los esquemas más pequeños, puedes asegurarte de que también se herede en el esquema más grande.

    ¡Espero que esto te ayude! Avísame si tienes alguna otra pregunta.

Comments are closed.