Saltar al contenido

Validador de JSON Schema

JSON Schema Validator

Valida un documento contra un JSON Schema e informa de cada fallo con la ruta de la instancia.

Valida un documento JSON contra un JSON Schema, draft 2020-12, enteramente en el navegador. Pasa las 1.299 pruebas obligatorias de la JSON-Schema-Test-Suite oficial, y cada fallo se informa con la ubicación de la instancia y la palabra clave que lo produjo.

🔒 Se ejecuta por completo en tu navegadorjson-schemavalidatejson

Esquema (draft 2020-12)

Datos que validar

Resultado

Veredicto

No válido

Fallos

3

Ubicación en la instanciaPalabra claveProblema
/portmaximumdebe ser como máximo 65535
/tagsuniqueItemslos elementos 0 y 1 son iguales
/debugfalsenunca es válido aquí (el esquema es false)
La validación corre por completo en esta pestaña contra JSON Schema draft 2020-12, y pasa las 1299 pruebas obligatorias del JSON-Schema-Test-Suite oficial. $ref se resuelve dentro del esquema, de los documentos adicionales pegados y de los meta-esquemas 2020-12 incluidos: las referencias remotas se rechazan en vez de descargarse, así que los resultados nunca dependen de la red. format se informa como anotación y no se impone, que es lo que 2020-12 hace por defecto.

Cómo se usa

  1. Pega el esquema y los datos

    Ambos cuadros revalidan mientras escribes. Un error de sintaxis en cualquiera de los dos se informa por separado, así que sabes qué lado está roto.

  2. Añade los documentos referenciados si tienes `$ref`

    Activa Esquemas adicionales y pégalos: un documento o un arreglo de ellos, cada uno con su `$id`. Nada se descarga por la red, así que un esquema repartido en varios archivos sigue validando aquí.

  3. Lee la tabla de fallos

    Cada fila da la ruta de la instancia, la palabra clave que falló y lo que quería. Copia el conjunto entero como JSON si lo vas a pegar en un issue.

Preguntas frecuentes

¿Por qué mi `"format": "email"` no se aplica?

Porque 2020-12 hace de `format` una anotación por defecto: un validador puede informar de ella y no comprobarla, y la mayoría hace exactamente eso. Si necesitas que se aplique, usa `pattern`, o un validador configurado con el vocabulario de aserción de formato.

Un `$ref` remoto no se pudo resolver.

Las referencias remotas se rechazan, no se descargan. Un validador que sale a la red da resultados que dependen del DNS y del tiempo de actividad de otra persona, y le dice a esa persona qué esquemas estás validando. Pega el documento referenciado en el cuadro de esquemas adicionales en su lugar.

¿Qué drafts se admiten?

2020-12. Un esquema Draft-07 a menudo valida de todos modos —la mayoría de las palabras clave no han cambiado—, pero `definitions` no es `$defs`, `items` significa otra cosa para las tuplas, y `$recursiveRef` ya no existe. Comprueba la línea `$schema` antes de dar nada por sentado.

¿Por qué tantos errores para un solo campo incorrecto?

Porque un fallo dentro de `anyOf`, `oneOf` o `allOf` informa de cada rama que falló: eso es lo que la especificación dice que contiene una unidad de salida. La primera fila suele ser la que quieres; el resto explican por qué ninguna alternativa coincidió tampoco.

Puede recibir de

Después

Estas aceptan lo que produce esta herramienta, así que el resultado puede pasar directamente.