Generador de structs Rust
El Generador de structs Rust te da un punto de partida a partir de una muestra; el propio esquema de la API indica qué campos son realmente opcionales.
🔒 Esta herramienta funciona totalmente en tu navegador. Tus archivos nunca se suben a un servidor.
Desarrollador
Generador de structs Rust
Vista previa del frontend: sin subidas ni servicios externos.
Structs Rust
Tres structs anidados con #[derive(Serialize, Deserialize, Debug)], user_id renombrado desde userId, y email tipado como Option<String> porque la muestra tenía null.
Cómo funciona el Generador de structs Rust
- Pega una muestra JSON representativa — una con todos los campos opcionales rellenos, no solo el caso mínimo.
- Elige los derives y si renombrar los campos a snake_case con atributos serde rename.
- Copia los structs en tu crate y comprueba los tipos Option frente a lo que la API realmente garantiza.
FAQ
¿Por qué algunos campos son Option?
Porque la muestra tenía null ahí, o el campo estaba ausente. Un campo siempre presente en tu muestra se generará como un tipo simple, que fallará al deserializar la primera vez que la API lo omita.
¿Una sola muestra JSON da tipos correctos?
Da tipos coherentes con esa muestra. Los enteros que por casualidad son pequeños se vuelven i64, y un campo que es string en una respuesta y número en otra no se detectará. Compruébalo con el esquema de la API.
¿Qué pasa con el renombrado a snake_case?
La convención de Rust exige campos snake_case, mientras que la mayoría de las API JSON usan camelCase. Generar atributos serde rename mantiene ambos lados idiomáticos sin una capa de mapeo manual.
Comparación
| Función | Online Tool Store | Un script CLI | Un plugin de IDE |
|---|---|---|---|
| Derives de serde incluidos | ✓ | ✗ | ✓ |
| Option para nulos | ✓ | ✗ | ✓ |
| Nada se sube | ✓ | Local | ✗ |
| Sin instalación | ✓ | ✗ | ✓ |
El Generador de structs Rust te da un punto de partida a partir de una muestra; el propio esquema de la API indica qué campos son realmente opcionales.