🌐 ES

🧬 Generador de JSON Schema

Pega datos JSON de ejemplo para inferir automáticamente un esquema JSON Schema draft-07. Detecta el tipo de cada valor, marca las claves de los objetos como obligatorias y fusiona los esquemas de los elementos de los arrays.

GUÍA

Más información

01

1. Qué es JSON Schema

JSON Schema es un estándar para describir la estructura, tipos y restricciones de los datos JSON. Se usa ampliamente para validar solicitudes/respuestas de API, verificar archivos de configuración y automatizar la documentación. Esta herramienta genera un esquema draft-07 a partir de un único JSON de ejemplo, evitando que tengas que escribir uno desde cero.

02

2. Reglas de inferencia

Las cadenas, enteros, decimales, booleanos y nulos se asignan a los tipos string, integer, number, boolean y null. Los objetos obtienen propiedades y se marcan como obligatorias todas las claves presentes; los arrays fusionan los esquemas de todos los elementos en items. Cuando los elementos del array tienen claves diferentes, solo permanecen obligatorias las claves presentes en todos los elementos.

03

3. Refinando el resultado

La inferencia automática es solo un punto de partida. Los esquemas reales suelen añadir formato (email, date-time), longitud mínima/máxima, enum, patrón regex y ajustes para campos opcionales. La entrada grande está limitada por un tope de nodos por rendimiento, así que crea un draft con una muestra representativa y luego ajusta las restricciones.

Preguntas frecuentes

¿Qué versión de JSON Schema se genera?
Un esquema draft-07. El campo $schema se establece en http://json-schema.org/draft-07/schema#.
¿Por qué cada clave se marca como obligatoria?
Se infiere que una clave presente en la muestra siempre aparece, por eso se marca como obligatoria. Elimina los campos opcionales del array required después de generar.
¿Se envía mi JSON a un servidor?
No. La inferencia se realiza por completo en tu navegador y los datos nunca se envían a un servidor.
¿Qué ocurre si los elementos del array tienen formas diferentes?
Sus esquemas se fusionan: solo las claves comunes permanecen obligatorias, y los tipos mixtos se convierten en un array de tipos (integer+number se unifica en number).