Saltar al contenido principal

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.

Solo local
Entrada de ejemplo (objeto o matriz de ejemplos)
0 B1 líneaLín. 1, Col. 1
JSON Schema generado (Draft 2020-12)solo lectura
0 B1 línea

✓Prueba de validación completa

Valida documentos JSON contra el esquema generado en tiempo real.

Documento a validar
0 B1 líneaLín. 1, Col. 1
Informe de conformidad con el esquema
No se ha generado un esquema para validar.

¿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) y uri (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 enum estrictos.

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?

Referencia técnica y opciones
ParámetroTipoValor predeterminadoComportamiento y casos límite
inferRequiredBooleantrueEtiqueta automáticamente las propiedades que aparecen en cada muestra proporcionada como requeridas.
typeWideningBooleantruePermite que los campos con múltiples tipos observados admitan cualquiera de esos tipos en lugar de forzar uno solo.
detectFormatsBooleantrueInspecciona los patrones de cadena para formatos RFC: email, fecha-hora, uuid y uri.
enumThresholdInteger4Número máximo de valores únicos para clasificar una propiedad de cadena/número como un conjunto de enum fijo.
Borrador de esquemaEstándarDraft 2020-12Emite 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.