Saltar al contenido

Validador de esquemas JSON

Compare un documento JSON con un esquema JSON y obtenga un informe de errores legible línea por línea.

Entrada
Esquema JSON
Salida

Validador de esquemas JSON

Pegue un documento JSON en un lado y un esquema JSON en el otro, y esta herramienta le indicará si el documento coincide y, si no es así, exactamente dónde y por qué. Cada problema se informa como una línea con la ruta del puntero JSON al valor infractor, la palabra clave del esquema que falló y el valor real encontrado allí, por lo que puede ir directamente a la solución en lugar de buscar manualmente en una gran carga útil.

El validador cubre el núcleo cotidiano del borrador del esquema JSON-07: "tipo" (incluidas matrices de unión como ["string","null"] para campos que aceptan valores NULL), "required" y "properties", "additionalProperties" como un esquema booleano o propio, "items" para validación de listas y tuplas, "minItems"/"maxItems"/"uniqueItems", las palabras clave numéricas "minimum"/"maximum"/"exclusiveMinimum"/"exclusiveMaximum"/"multipleOf", las palabras clave de cadena "minLength"/"maxLength"/"pattern", "enum" y "const", y los combinadores "anyOf"/"allOf"/"oneOf"/"not". También resuelve punteros "$ref" a la propia sección "#/definitions" o "#/$defs" de un esquema (útil para esquemas que factorizan una forma de objeto compartida) y detecta un "$ref" que se repite sobre sí mismo en lugar de congelar la página.

Este es un validador, no un creador de formularios basado en esquemas: no recupera un esquema de una URL o un "$id", y nunca lo hará, porque eso significaría enviar sus datos o su definición de esquema fuera de su dispositivo. Cualquier "$ref" que apunte fuera del documento se informa como no admitido en lugar de ignorarse silenciosamente, por lo que siempre sabrá exactamente qué se revisó y qué no.

Todo se ejecuta localmente en su navegador: el documento JSON y el esquema se analizan y verifican en su dispositivo y nunca se cargan en ningún lugar, lo que hace que sea seguro usarlo con cargas útiles de API, archivos de configuración o cualquier otro JSON que incluya datos que preferiría no pegar en un sitio web aleatorio.

Preguntas frecuentes

¿Qué borrador de esquema JSON admite esto?
Un subconjunto práctico del borrador-07: tipo (incluyendo matrices de unión y que aceptan valores NULL), requerido, propiedades, propiedades adicionales, elementos, minItems/maxItems/uniqueItems, las palabras clave numéricas y de límites de cadena, enum/const, anyOf/allOf/oneOf/not y punteros $ref locales en "#/definitions" o "#/$defs".
¿Puede seguir un $ref a otro archivo o URL?
No. Sólo se resuelven los punteros locales a las "#/definiciones" o "#/$defs" del mismo esquema. Un $ref que apunta a cualquier otro lugar se informa como no admitido en lugar de recuperado, ya que recuperar un esquema remoto significaría enviar datos desde su dispositivo.
¿Qué pasa si mi esquema tiene un $ref circular?
Se detecta y se informa como un error "$ref" en lugar de congelar la pestaña: el validador realiza un seguimiento de las referencias que está siguiendo actualmente y se detiene tan pronto como se repite una.
¿Cómo se informa cada error?
Una línea por problema, con la ruta del puntero JSON al valor (como "/usuario/edad"), la palabra clave del esquema que falló (como "mínimo" o "requerido") y el valor real que se encontró allí.
¿Mi documento JSON y mi esquema están cargados en algún lugar?
No. La validación se ejecuta completamente en su navegador utilizando el analizador JSON integrado: ni los datos ni el esquema salen de su dispositivo y nunca se recupera ningún esquema de la red.