DT Dev Tools

Generador de JSON Schema

Genera localmente un JSON Schema draft-07 a partir de un ejemplo JSON. Este generador gratuito infiere tipos, propiedades, campos obligatorios y esquemas de elementos de arrays, sin subir nada.

🔒 Se ejecuta completamente en tu navegador — nada se carga

Advertisement

Qué hace el Generador de JSON Schema

El Generador de JSON Schema lee un ejemplo JSON y produce un esquema draft-07 que valida documentos con la misma estructura. Recorre el valor de forma recursiva: los objetos se convierten en un esquema con un mapa properties y un array required, los arrays pasan a ser un esquema con una definición items y los valores primitivos se describen con su type de JSON Schema. El resultado es un contrato portable que puedes incorporar a la documentación de una API, a middlewares de validación de peticiones, a cargadores de configuración, a pruebas de contrato o a herramientas del editor que ofrecen autocompletado y validación en línea a partir de un esquema.

Los arrays se resumen en lugar de enumerarse. Cuando un array contiene objetos, se fusionan todos los elementos para que el esquema items generado cubra la unión de claves, y una clave que falta en algunos elementos se elimina de la lista de obligatorios. Cuando un array mezcla tipos primitivos, el generador emite un anyOf para que cada tipo observado siga siendo válido. Generar desde un ejemplo es la forma más rápida de crear un esquema base que luego refinas a mano, en lugar de escribir desde cero definiciones de tipos anidadas.

Flujo de trabajo privado en el navegador

Todo el análisis y la construcción del esquema ocurren dentro de tu navegador con JavaScript del lado del cliente. La herramienta no sube a ningún servidor tu JSON, respuestas de API, configuración, identificadores ni ejemplos con forma de datos de clientes, y no requiere una cuenta. Este funcionamiento solo local es importante porque la entrada de un generador de esquemas suele ser una carga real capturada al depurar un servicio. Mantener el trabajo en tu equipo reduce riesgos y hace que el resultado sea instantáneo, porque nada sale de la página.

La interfaz mantiene juntos el JSON de entrada y el esquema generado para que puedas verificar el resultado antes de copiarlo. Un esquema generado a partir de un único ejemplo es un punto de partida, no un contrato terminado: un solo ejemplo no puede revelar todas las propiedades opcionales, valores enum, restricciones de formato o rangos numéricos que admite tu dominio, así que amplía y ajusta el esquema con conocimientos que el ejemplo no contiene.

Consejos prácticos

Usa el ejemplo más completo que tengas, con campos opcionales rellenados y arrays de más de un elemento para que la lógica de fusión describa con precisión las uniones. Tras generar, refina el esquema: añade palabras clave format como email, uri o date-time donde corresponda, añade listas enum para los campos con un conjunto fijo de valores, define minimum y maximum en los números y elimina del array required los campos que pueden faltar legítimamente. Valida el esquema final con varios documentos reales y el validador que prefieras antes de usarlo en producción, ya que la generación en el navegador es ideal para un primer borrador rápido y preciso.

Cómo usar

  1. Pega el JSONAñade un objeto, array o valor JSON representativo.
  2. GeneraCrea un esquema draft-07 que describa el ejemplo.
  3. Copia o descargaRevisa el esquema y luego cópialo o descarga un archivo .json.

Preguntas frecuentes

¿Qué borrador de JSON Schema se genera?
El generador emite esquemas draft-07 con el identificador $schema correspondiente.
¿Cómo se eligen las propiedades obligatorias?
Cada clave presente en el objeto de ejemplo se marca como obligatoria. Elimina del array required las claves que sean opcionales.
¿Se sube mi JSON?
No. La generación del esquema se ejecuta por completo en tu navegador con JavaScript del lado del cliente.
Advertisement