TK TaskKit
Herramientas para desarrolladores

Validador JSON Schema

Valida JSON contra un schema con rutas de error completas. Draft-07 y 2020-12, verificación de formato, modo todos-los-errores.

Schema
Datos
Validación

El schema no se pudo compilar: Code generation from strings disallowed for this context

Las entradas se quedan en este dispositivo. Cada herramienta para desarrolladores en TaskKit corre por completo en tu navegador. Tokens, payloads y texto pegado no se transmiten ni a TaskKit ni a terceros.

Qué hace esta herramienta

Valida un documento JSON contra un JSON Schema. Soporta los dos drafts más comunes:

  • Draft-07 — el más extendido, especialmente en herramientas más antiguas y en ecosistemas como OpenAPI 3.0.
  • 2020-12 — la versión moderna, alineada con OpenAPI 3.1 e incluyendo $dynamicRef, prefixItems, etc.

El modo "Auto" intenta detectar el draft desde el campo $schema del documento; si no hay, usa Draft-07 por defecto.

El resultado es: válido (con un check verde) o inválido con la lista completa de errores, cada uno con:

  • Mensaje legible
  • Ruta JSON Pointer al sitio exacto del dato que falló
  • Ruta del schema al constraint que falló

Esto te dice exactamente cuál sub-regla del schema violó qué sub-elemento de los datos.

Cuándo la usarías

  • Verificar que un payload de API cumple el contrato antes de enviarlo.
  • Depurar un schema cuando anyOf o oneOf se queja sin decir cuál rama falló.
  • Validar archivos de configuración generados automáticamente contra el schema oficial.
  • Comprobar que un cambio en datos sigue cumpliendo el schema antes de hacer commit.

Cómo funciona

El validador es Ajv (la librería estándar de JS) con allErrors: true para reportar todo en una sola pasada. Verificación de formato (format: email, format: date-time, etc.) está activada — algunos formatos son chequeos estrictos, otros son sugerencias.

Todo se compila y ejecuta localmente. Si tu schema usa $ref a una URL externa, la consulta NO se hace — pega ese schema externo en línea o resuelve los refs antes.

Notas

¿$ref a archivos locales o URLs? No los seguimos por privacidad y para evitar peticiones de red. Si tu schema referencia algo externo, integralo manualmente.

¿OpenAPI 3.1 = JSON Schema 2020-12? Casi. OpenAPI tiene unas pocas extensiones (discriminator, example, etc.) que JSON Schema puro ignora. Para validar el cuerpo de la respuesta, esto es suficiente.

¿Por qué el formato date-time es laxo? Porque RFC 3339 permite muchas variantes. Ajv valida la estructura pero no la coherencia (2026-02-30 puede pasar). Para fechas estrictas, valida después con tu propia lógica.

Herramientas relacionadas

  • JSON — para formatear el documento antes de validar
  • JSON ↔ YAML — porque OpenAPI a menudo es YAML
  • Codificador JWT — para construir un payload que cumpla un schema de claims