JSON
JSON Schema Validator
Validación de datos JSON contra un JSON Schema (estilo draft-07) — con la ruta exacta y una explicación para cada infracción.
JSON Schema describes the expected structure of a JSON document — which fields are required, what type they are, and what constraints apply to their values. This tool checks actual data against a schema and shows the exact path to every violation.
How to use it
- Paste a JSON Schema into one field and the data to validate into the other.
- The result lists each violation separately: the exact path to the problem field and a plain-language explanation of why it doesn't match the schema.
- Valid data is immediately flagged as fully compliant with the schema.
Common uses
- Checking a third-party API response against its documented schema before integrating with it.
- Debugging your own JSON Schema — figuring out why seemingly valid data gets rejected.
- Validating a configuration file against a schema before deploying.
Things to keep in mind
JSON Schema has several versions (draft-07, 2019-09, 2020-12) with small syntax differences — check which version your production validator actually expects.
required only checks that a field is present, not its value — an empty string or null still counts as "present" if the type allows it.
Artículo sobre esta herramienta: JSON Schema: cómo describir y validar la estructura de un JSON
Preguntas frecuentes
¿Qué significa un error de validación en una ruta concreta?
Significa que los datos en esa ruta incumplen alguna restricción del esquema, como un tipo incorrecto, una propiedad requerida ausente, un patrón que no coincide o un valor fuera del rango permitido.
¿Qué versión de JSON Schema admite la herramienta?
Admite el estilo draft-07, una de las versiones más usadas de JSON Schema, que cubre las palabras clave más comunes como required, type y pattern.
¿Se envían el esquema o los datos a un servidor para validarlos?
No, toda la validación se realiza localmente en el navegador mediante JavaScript, sin subir el esquema ni los datos a ningún sitio.
¿Qué hace additionalProperties: false?
Por defecto, un objeto puede contener cualquier campo además de los descritos en properties. additionalProperties: false prohíbe los campos de más — útil para detectar un error tipográfico en el nombre de una clave o un campo de debug olvidado.
¿Se puede describir un campo que admita varios tipos?
Sí, mediante un array en type, por ejemplo "type": ["string", "null"], si el campo puede ser una cadena o null. Para casos más complejos se usan las palabras clave oneOf, anyOf o allOf.