JSON Schema Validator

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
JSON Schema
JSON Data
Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand JSON Schema Validator

Este validador comprueba un documento JSON contra un JSON Schema y enumera cada punto en el que los datos no coinciden, con la ruta hasta el valor problemático.

How it works

Recorre a la vez los datos y el esquema, aplicando en cada nivel las restricciones de las palabras clave: type (incluido integer), enum, required, properties, additionalProperties, pattern, minLength y maxLength, minimum y maximum, items, minItems y maxItems. Los errores llevan una ruta como $.user.email para que pueda localizar el valor dentro de un documento grande. Cuando un valor tiene el tipo equivocado, el recorrido se detiene ahí, porque cualquier comprobación adicional sobre él sería ruido.

When to use it

  • Comprobar que la respuesta de una API sigue coincidiendo con la forma que espera su cliente.
  • Probar un esquema que está escribiendo contra una muestra que debería pasar y otra que debería fallar.
  • Localizar qué campo de una carga grande está rechazando un servicio.
  • Confirmar que un archivo de configuración coincide con el esquema que publica su propia herramienta.

Watch out for

  • JSON Schema es permisivo por defecto. Una propiedad no listada en properties se permite salvo que additionalProperties sea false, y una propiedad listada es opcional salvo que aparezca en required: un esquema que parece estricto normalmente no lo es.
  • Esto implementa un subconjunto de draft-07. $ref, allOf, anyOf, oneOf, not, const y format no se evalúan, así que un esquema que los use informa de las partes que sí puede comprobar y calla sobre el resto.
  • type: number acepta enteros, y type: integer acepta tanto 1.0 como 1, porque JSON tiene un único tipo numérico y 1.0 es ese número.
  • Una discrepancia de tipo suprime el resto de errores sobre ese valor, así que corregir un error puede sacar a la luz más por debajo.

Not the right tool for: Esquemas que se apoyan en $ref, en los combinadores o en aserciones de format. Ajv es la implementación de referencia y comprueba lo que esto no puede.

Frequently Asked Questions

¿Qué palabras clave de JSON Schema se admiten?

Un subconjunto del núcleo de draft-07: type (incluidos integer y los arrays de tipos), required, properties, additionalProperties, enum, pattern, minLength/maxLength, minimum/maximum, items, minItems/maxItems y esquemas anidados. No están implementados: format, const, $ref ni los combinadores allOf/anyOf/oneOf/not. Para cubrir draft-07 por completo, use Ajv en su propia compilación.

¿Cuál es la diferencia entre JSON Schema draft-07 y 2020-12?

Draft-07 es la versión más extendida (la que muchas herramientas usan por defecto). Draft 2020-12 añade $dynamicRef, unevaluatedProperties y un comportamiento mejorado de $ref. Use draft-07 salvo que su cadena de herramientas exija específicamente una versión más reciente.

¿Cómo valido la respuesta de una API contra un esquema?

Pegue la respuesta de su API en el campo "Datos" y el componente de esquema de su OpenAPI/Swagger en el campo "Esquema". Es útil para asegurarse de que las respuestas de la API coinciden con la forma documentada antes de escribir el código del cliente.

How to Use JSON Schema Validator

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.