Generador de Rust Struct a JSON Schema

Entrada Código Rust

1

Salida JSON Schema

Configuración

Elige qué struct se trata como raíz del JSON Schema.

El parseo ocurre completamente en tu navegador. Tu código nunca sale de esta página.

Pega tus structs Rust para producir JSON Schema al instante.

Admite Option<T>, Vec<T>, HashMap/BTreeMap, atributos serde rename y structs anidadas.

Cómo convertir structs de Rust a JSON Schema — guía paso a paso

Este convertidor en línea (Rust struct → JSON Schema) te ayuda a generar JSON Schema desde modelos reales (DTOs, structs y classes) para validar payloads, compartir contratos y generar mock JSON.

  1. Paso 1 – Pega tu fuente Rust

    • Pega los modelos que quieres documentar en el editor izquierdo.
    • Incluye tipos referenciados en el mismo snippet para que el esquema pueda generar definitions.
    • Usa el botón Ejemplo para cargar un ejemplo y ver el formato esperado.
  2. Paso 2 – Selecciona el Struct raíz (si hace falta)

    • Si se detectan múltiples definitions, elige la raíz que coincide con tu payload de API.
    • El esquema de salida se construye alrededor de la raíz seleccionada e incluye definitions para tipos referenciados.
  3. Paso 3 – Revisa la salida de JSON Schema

    • Comprueba tipos, campos requeridos vs. opcionales y estructuras anidadas de objetos/arrays.
    • Busca definitions y $ref cuando tus modelos referencien otros modelos.
    • Copia o descarga el esquema para validación, documentación o desarrollo schema-first.
  4. Paso 4 – Valida o genera mock JSON

    • Haz clic en Generar datos mock para abrir el generador de mock con tu esquema precargado.
    • Valida payloads reales contra tu esquema para detectar cambios incompatibles temprano.
    • Si dependes de composición avanzada del schema (por ejemplo anyOf/oneOf/allOf), verifica el resultado con un validador completo como Ajv.

Nota sobre soporte de keywords

Los esquemas generados pueden incluir $ref y puedes editarlos para añadir anyOf, oneOf, o allOf. Para esquemas complejos, usa un validador completo de JSON Schema y haz dereference antes de generar mock si es necesario.

Herramientas relacionadas de JSON Schema y generación de código

Usa estas herramientas para validar schemas, generar payloads mock, formatear ejemplos JSON y mantener código y contratos sincronizados.

Preguntas frecuentes

¿Qué Rust está soportado?

Se admiten structs con nombre y campos públicos, structs anidados, Option<T>, Vec<T>, arrays, HashMap/BTreeMap, referencias y lifetimes (ignorados para el esquema), además de atributos serde como #[serde(rename = "...")]. Los enums se omiten por ahora; pega los tipos struct que representan tus payloads JSON.

¿Cómo se mapean tipos Rust a JSON Schema?

Los tipos primitivos como String, bool, enteros, números decimales, chrono::DateTime y uuid::Uuid se convierten en primitivas de JSON Schema. Vec<T> se convierte en arrays, HashMap<string, T> en objetos y Option<T> marca automáticamente el campo como opcional.

¿Puedo incluir varios structs en el snippet?

Sí. Pega varios tipos y selecciona el struct raíz en settings para generar el schema desde el root correcto.

¿Cómo genero datos mock desde el schema?

Después de generar el schema, haz clic en "Generar datos mock" para abrir el Generador de Mock con el schema precargado.