Generar esquema JSON
El generador de JSON Schema infiere automáticamente especificaciones estándar de JSON Schema (Draft 2020-12) a partir de una o más cargas JSON de ejemplo. Ofrece heurísticas configurables de campos obligatorios, ampliación de tipos entre muestras heterogéneas, detección automática de formatos (email, date-time, uuid, uri), descubrimiento de enums y validación en vivo de documentos contra el esquema inferido en la misma página.
✓Prueba de validación completa
Valida documentos JSON contra el esquema generado en tiempo real.
¿Cómo funciona Generar esquema JSON?
Escribir definiciones de JSON Schema a mano es repetitivo, verboso y propenso a errores. El motor de inferencia de esquemas de ToolsByUs lo automatiza realizando una agregación estructural de múltiples pasadas sobre tus muestras de entrada:
- Inferencia y ampliación de tipos: Examina los valores de los datos de forma recursiva. Cuando se observan tipos escalares distintos entre las muestras para la misma clave (p. ej. integer y string), la ampliación de tipos produce un array de tipos permitidos
type: ["integer", "string"]en lugar de rechazar variaciones válidas. - Heurísticas de campos obligatorios: Calcula razones de frecuencia. Las propiedades presentes en el 100% de los registros de muestra analizados se incluyen en el array de la restricción
required. - Coincidencia de formato y semántica: Compara los campos de cadena con los estándares RFC para
date-time(ISO 8601),email(RFC 5322),uuid(RFC 4122/9562) yuri(RFC 3986). - Extracción de enums: Detecta valores repetitivos de baja cardinalidad por debajo de un umbral configurable (p. ej. campos status) y genera conjuntos
enumestrictos.
Lo más importante: el generador incluye un Round-Trip Validator interactivo : puedes pegar cualquier carga candidata y probarla de inmediato contra el esquema generado para verificar la conformidad.
Entrada de cargas de ejemplo
{"id": "usr_101", "email": "[email protected]", "active": true}Salida de ejemplo
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": ["id", "email", "active"],
"properties": {
"id": { "type": "string" },
"email": { "type": "string", "format": "email" },
"active": { "type": "boolean" }
}
}¿Qué opciones y casos límite admite Generar esquema JSON?
| Parámetro | Tipo | Valor predeterminado | Comportamiento y casos límite |
|---|---|---|---|
| inferRequired | Boolean | true | Etiqueta automáticamente las propiedades que aparecen en cada muestra proporcionada como requeridas. |
| typeWidening | Boolean | true | Permite que los campos con múltiples tipos observados admitan cualquiera de esos tipos en lugar de forzar uno solo. |
| detectFormats | Boolean | true | Inspecciona los patrones de cadena para formatos RFC: email, fecha-hora, uuid y uri. |
| enumThreshold | Integer | 4 | Número máximo de valores únicos para clasificar una propiedad de cadena/número como un conjunto de enum fijo. |
| Borrador de esquema | Estándar | Draft 2020-12 | Emite un esquema JSON moderno y totalmente compatible con la especificación de borrador 2020-12. |
Preguntas frecuentes
¿Qué versión de JSON Schema genera esta herramienta?
Esta herramienta genera JSON Schema Draft 2020-12, la última especificación estable recomendada por la organización JSON Schema. Es compatible con las bibliotecas de validación modernas de Python, Node.js, Go, Rust y Java.
¿Puedo aportar varios documentos de ejemplo?
¡Sí! Puedes pegar un único objeto JSON o un array JSON de varios objetos. El generador agrega las formas de las propiedades de todas las muestras para producir esquemas completos con tipos unión y heurísticas precisas de campos obligatorios.
¿Cómo funciona la validación en vivo?
El panel inferior ejecuta un validador de esquemas en tiempo real contra el esquema generado en cada momento. A medida que modificas los datos de ejemplo o las opciones de arriba, el documento de prueba se valida de inmediato mostrando las rutas y las palabras clave exactas de la infracción.
¿Se transmite mi esquema o mis datos de ejemplo a un servidor?
No. Toda la inferencia y validación de esquemas se ejecuta 100% localmente en tu navegador, sin ninguna petición de red, preservando la privacidad completa de los esquemas propietarios y los registros de producción.
¿Por qué un campo se marca como obligatorio si mi API lo trata como opcional?
Porque la inferencia solo ve las muestras que le das, y una propiedad presente en todas las muestras se asume obligatoria. Pega un array de documentos que incluya los casos en que el campo falta de verdad y saldrá automáticamente de la lista de required — esa es la manera más rápida de enseñarle al generador qué campos son opcionales.
¿Puedo obtener tipos de TypeScript en lugar de un esquema?
Sí, pero con otra herramienta: el conversor de JSON a TypeScript toma el mismo documento de ejemplo y emite interfaces directamente. Un esquema es el mejor artefacto cuando quieres validación en tiempo de ejecución en varios lenguajes; los tipos generados son mejores cuando el único consumidor es una base de código TypeScript y la comprobación ocurre en tiempo de compilación.