Validador y generador de JSON Schema

Valide JSON con esquemas draft 2020-12 o draft-07, o genere un esquema a partir de muestras.

Funciona en local · no se sube nada
JSON Schema
JSON data

Qué hace

Validar comprueba un documento JSON con un JSON Schema mientras escribe, usando Ajv 8, un validador de JSON Schema muy extendido. Generar esquema hace lo contrario: pegue JSON de muestra y obtenga un esquema inicial que podrá perfeccionar.

Funciones

  • Draft 2020-12 y draft-07. El draft se toma de $schema; si no existe, se deduce de las palabras clave usadas ($defs, prefixItems o definitions, items en forma de tupla). Puede elegirlo usted.
  • Cada error señala su línea. Los errores muestran la ruta de la instancia, la palabra clave que falla, un mensaje legible con el valor problemático y la ruta en el esquema. Haga clic en una ruta para seleccionar esa línea en el JSON o en el esquema.
  • Primero, los problemas del esquema. Un esquema no válido se comprueba con su metaesquema y se informa con rutas en las que se puede hacer clic; se señalan las palabras clave desconocidas (erratas como requird) y los $ref que no se pueden resolver.
  • Formatos como date-time, date, time, email, uri, uuid, ipv4, ipv6, hostname y duration se validan; desactívelo para tratar los formatos como simples anotaciones.
  • Errores de JSON estricto con línea y columna: comas finales, comentarios, comillas simples, ceros a la izquierda. También se informan las claves duplicadas.
  • El generador combina todos los elementos de un array, marca como required las propiedades presentes en todas las muestras, usa uniones de tipos para valores nulos y mixtos y detecta formatos habituales. Opcionalmente añade additionalProperties: false y examples.

Cómo usarlo

Pegue un esquema a la izquierda y su JSON a la derecha, o suelte archivos .json en cualquiera de los dos lados. En el modo de generación, pegue un objeto o un array de muestras y use Validar con él para probar el resultado de inmediato.

Privacidad

Todo se ejecuta en su navegador. Su esquema y su JSON nunca se suben, y las URL de $ref externas no se descargan. Las últimas entradas se guardan en el almacenamiento local de su navegador.