JSON a Rust
Convertir JSON a structs Rust online. Generar structs compatibles con Serde para desarrollo Rust. Gratis, se ejecuta en tu navegador—sin envío de datos.
Entrada JSON
Salida Rust
¿Qué es JSON a Rust?
Rust usa structs para datos estructurados. Al consumir JSON con Serde, necesitas definiciones de struct coincidentes.
Esta herramienta genera structs Rust desde tu JSON. Activa Serde para derives Serialize/Deserialize. Activa Option Types para campos opcionales.
La conversión se ejecuta completamente en tu navegador. Tu JSON nunca se envía a un servidor.
Cuándo ayuda JSON a Rust
Al desarrollar apps Rust que consuman APIs REST, necesitas structs tipados.
Cómo usar esta herramienta
Pegar o subir JSON
Copia tu JSON y pégalo en el editor izquierdo. Usa el botón Ejemplo para datos de ejemplo. Configura el nombre del struct y opciones en el panel de configuración.
Revisar los structs generados
El panel derecho muestra los structs Rust generados. Si tu JSON tiene sintaxis inválida, corrígelo primero con el Formateador JSON o el Validador JSON.
Copiar o descargar
Usa Copiar o Descargar para obtener el código. Añade serde y serde_json a tu Cargo.toml. Pégalo en tu proyecto Rust.
Ejemplos de JSON a Rust
Aquí un ejemplo de generación de structs Rust desde un objeto JSON.
Ejemplo: Registro de suscriptor
Entrada JSON:
Salida Rust generada:
Cuándo ayuda JSON a Rust
La mayoría de desarrolladores necesitan esto al integrar con APIs REST.
Para fusionar dos archivos JSON primero, existe la herramienta Combinar JSON.
Las respuestas de API, archivos de configuración o exportaciones de datos suelen ser JSON.
Preguntas frecuentes
¿Serde o deserialización manual?
Serde es el estándar para JSON en Rust. Genera Serialize y Deserialize mediante macros derive. Añade serde y serde_json a Cargo.toml.
¿Qué pasa con Option para campos null?
Activa Option Types para campos JSON opcionales. Esto envuelve campos nullable en Option<T>.
¿Se envían mis datos a algún sitio?
No. La generación se ejecuta completamente en tu navegador.
¿Puedo usar #[serde(rename)]?
Sí. El generador añade #[serde(rename = "jsonKey")] cuando el nombre del campo Rust (snake_case) difiere de la clave JSON (camelCase).
¿Qué pasa con los objetos anidados?
Los objetos JSON anidados se convierten en structs Rust separados. Los arrays se convierten en Vec<T> de esos tipos.
Herramientas relacionadas
Para JSON en Rust, ver Serde y serde_json. Para JSON, ver la especificación JSON.