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.

Cómo crear un esquema JSON para validar si un campo dado de tipo cadena contiene un valor de un array de cadenas dado.

Necesito crear un esquema JSON (puede utilizar cualquier versión) para validar el campo de cadena que solo puede contener valores del array de cadenas dado en otro campo.

Ejemplo MVE:

Para “picked”, los únicos valores válidos son los especificados en “values”.

Válido:
{
“values”: [“Foo”, “Bar”, “Baz”],
“picked”: “Bar”
}

No válido:
{
“values”: [“Foo”, “Bar”, “Baz”],
“picked”: “NotFromValues”
}

Esquema:
{
“$schema”: “https://json-schema.org/draft/2020-12/schema”,
“type”: “object”,
“properties”: {
“values”: {
“type”: “array”,
“items”: { “type”: “string” }
},
“picked”: {
“type”: “string”
// ¿Cómo puedo validar ‘picked’?
}
}
}

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para validar el campo “picked” con los valores del campo “values”, se puede usar la palabra clave “enum” en el esquema. La palabra clave “enum” restringe el valor de un campo a un conjunto específico de valores.

    Esquema actualizado:

    {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
            "values": {
                "type": "array",
                "items": { "type": "string" }
            },
            "picked": {
                "type": "string",
                "enum": ["Foo", "Bar", "Baz"]
            }
        }
    }
    

    Tenga en cuenta que en lugar de usar " para escapar las comillas, simplemente se pueden usar comillas regulares " dentro de un bloque de código en Markdown.

Comments are closed.