Acerca de Inferir JSON Schema
Pega cualquier JSON y obtén un JSON Schema inferido automáticamente. El generador detecta tipos, maneja objetos anidados y arrays de tipos mixtos. Todo se procesa en tu navegador.
Preguntas frecuentes
¿Qué es un generador de JSON Schema?
Un generador de JSON Schema analiza una muestra de JSON y produce un esquema que describe su estructura: los tipos de cada campo, qué propiedades son obligatorias y cómo se tipan los arrays. El esquema generado puede usarse para validación, documentación y generación de código.
¿Qué tan preciso es un JSON Schema generado automáticamente a partir de un documento de muestra?
La precisión depende completamente de lo representativa que sea la muestra. Un único ejemplo solo puede inferir lo que ve: los valores null se vuelven nullables, los campos siempre presentes se marcan como obligatorios. Para esquemas de producción, usa el resultado generado como punto de partida y añade manualmente campos opcionales, restricciones de enum, patrones de cadena y valores mínimos/máximos.
¿Puedo generar un JSON Schema a partir de una interfaz o clase de TypeScript?
Esta herramienta genera esquemas a partir de datos JSON de muestra, no de código fuente TypeScript. Para la generación TypeScript→esquema, usa la CLI ts-json-schema-generator o la biblioteca TypeScript JSON Schema, que leen archivos .ts directamente y generan esquemas conformes, conservando las anotaciones de tipo opcionales (?) y nullables (| null).
¿A qué draft de JSON Schema apunta el esquema generado por defecto?
El generador apunta a Draft 7 por defecto, que tiene el mayor soporte entre validadores, generadores de código y herramientas de documentación. Cambia a Draft 2020-12 si necesitas palabras clave como prefixItems para arrays tipados o unevaluatedProperties para composición de esquemas. La declaración $schema en el resultado identifica el draft utilizado.
¿Cómo gestiono campos opcionales y valores nullables en un esquema generado?
Los campos opcionales (ausentes de algunos objetos de muestra) se excluyen automáticamente del array required. Los campos nullables (donde null aparece en la muestra) obtienen una unión de tipos: {"type":["string","null"]}. Para campos que pueden ser null pero no lo eran en tu muestra, edita manualmente el esquema generado para añadir null al tipo.
Advertisement300 × 250
Advertisement300 × 250