Saltar al contenido
SDETRole
SDETRole

JSON y datos

Validador de JSON Schema

Valida JSON contra schemas draft 2020-12 o draft-07, o infiere uno.

Se ejecuta íntegramente en tu navegador Sin registro

Schema · 2020-12

JSON data

Paste a schema and some data, or load the sample

No schema yet? Paste a known-good response as data and click “Generate schema from data” to get a starting point.

Acerca de esta herramienta

La validación con schema convierte «la respuesta parece correcta» en una comprobación de contrato repetible: campos obligatorios, tipos, formatos, enums y formas de arrays. Este validador usa Ajv, la misma librería que usan muchas suites de test en JavaScript, con ajv-formats para comprobar email, date-time, uuid y uri. Cada error se muestra con su ruta de instancia (/items/1/qty) y un mensaje claro, y se informa de todos los errores, no solo del primero. Si aún no tienes schema, pega una respuesta que sepas correcta, genera a partir de ella un schema inicial y después ajústalo a mano.

Cómo usarla

  1. Pega el schema a la izquierda y los datos JSON a la derecha, o carga el schema de pedido de ejemplo con sus datos rotos a propósito.
  2. Deja el draft en «Auto» para seguir la palabra clave $schema del schema, o fuerza 2020-12 o draft-07.
  3. Corrige los errores listados; el resultado se actualiza mientras escribes.
  4. Para empezar un schema nuevo, pega una respuesta real como datos y pulsa “Generate schema from data”.

Preguntas frecuentes: Validador de JSON Schema

¿Debo usar draft 2020-12 o draft-07?

Usa el que admitan tus otras herramientas. OpenAPI 3.1 está alineado con 2020-12, mientras que muchos validadores antiguos y las herramientas de OpenAPI 3.0 están más cerca de draft-07. Las principales diferencias visibles son los arrays de tupla (prefixItems en 2020-12, items como array en draft-07) y $defs frente a definitions.

¿Qué calidad tiene el schema generado?

Es un punto de partida inferido de un solo ejemplo: tipos, objetos anidados, formas de los elementos de arrays, formatos de cadena comunes y todas las claves vistas en el ejemplo marcadas como obligatorias. No puede saber qué campos son opcionales, qué valores son enums ni qué límites numéricos hay, así que revísalo antes de usarlo como contrato.

¿Por qué se acepta un email no válido?

La palabra clave «format» solo se aplica cuando el validador activa las comprobaciones de formato. Esta herramienta las activa mediante ajv-formats; si tu framework de test no lo hace, añade también allí el plugin de formatos o los mismos datos pasarán.

Escribe para buscar en todo SDETRole.

Búsqueda de texto completo con Pagefind · se ejecuta en tu navegador Abrir la página de búsqueda →