#172 · Herramienta para desarrolladores

Convertidor JSON a structs de Rust

Convertidor JSON a structs de Rust procesa código Rust directamente en el navegador. Infiere tipos Rust a partir de un JSON válido y genera structs con derives de serde, incluyendo nombres de campos seguros. El contenido no se envía a un servidor y el resultado se puede copiar o descargar para revisarlo antes de integrarlo en el proyecto.

Datos de entrada

JSON de ejemplo
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega el código o carga un archivo compatible.
  2. Ajusta las opciones disponibles si las necesitas.
  3. Pulsa el botón principal o usa Ctrl/Cmd + Enter.
  4. Revisa el resumen, las métricas y las advertencias.
  5. Copia o descarga el resultado.

Qué hace esta herramienta para desarrolladores

Genera una base de modelos Rust a partir de datos JSON. La inferencia refleja solo el ejemplo proporcionado y no equivale a un esquema completo.

Recorre objetos y arrays, deduplica structs anidados y mapea valores a String, bool, i64, f64, Vec o serde_json::Value.

Si un campo puede ser nulo o faltar en otros mensajes, conviértelo manualmente en Option.

Ejemplo

{"id":1,"name":"Ana"}
→
#[derive(Debug, Serialize, Deserialize)]
pub struct Root {
    pub id: i64,
    pub name: String,
}

Casos de uso

  • Crear modelos iniciales para clientes HTTP.
  • Prototipar estructuras serde desde respuestas de API.
  • Detectar objetos anidados que conviene modelar por separado.

Consejos para obtener resultados fiables

  • Prueba primero con un fragmento representativo.
  • Conserva una copia del archivo original antes de sustituirlo.
  • Revisa macros, cadenas multilínea y código generado manualmente.
  • Usa un compilador o linter oficial cuando necesites validación semántica.
  • No interpretes una comprobación estática del navegador como una compilación.

Detalles del procesamiento

El procesamiento es local y se basa en reglas deterministas aplicadas al texto de entrada. Un único ejemplo no permite inferir todas las variantes ni la nulabilidad real de una API.

Un único ejemplo no permite inferir todas las variantes ni la nulabilidad real de una API.

Preguntas frecuentes

¿Qué tipos JSON convierte a Rust?

Convierte strings, booleanos, enteros, decimales, arrays, objetos y valores nulos.

¿Añade serde automáticamente?

Sí. Genera derives Serialize y Deserialize y conserva nombres JSON mediante serde(rename) cuando hace falta.

¿Cómo trata los valores null?

Los representa como Option<serde_json::Value> porque un solo ejemplo no revela el tipo subyacente.

¿Puede inferir enums de Rust?

No de forma fiable a partir de un único JSON; los valores de texto se mantienen como String.

¿El resultado compila directamente?

Normalmente requiere tener serde y serde_json en Cargo.toml y revisar nombres o tipos específicos del dominio.

Resumen del módulo

ElementoDetalle
EntradaObjeto JSON
Salida.rs
ProcesamientoLocal en el navegador