Générateur de structs Rust
Le Générateur de structs Rust vous donne un point de départ à partir d'un échantillon ; le schéma de l'API indique quels champs sont vraiment facultatifs.
🔒 Cet outil fonctionne entièrement dans votre navigateur. Vos fichiers ne sont jamais envoyés sur un serveur.
Développeur
Générateur de structs Rust
Aperçu frontend — aucun envoi ni service externe.
Structs Rust
Trois structs imbriqués avec #[derive(Serialize, Deserialize, Debug)], user_id renommé depuis userId, et email typé Option<String> car l'échantillon était null.
Comment fonctionne le Générateur de structs Rust
- Collez un échantillon JSON représentatif — un où chaque champ optionnel est renseigné, pas seulement le cas minimal.
- Choisissez les derives et s'il faut renommer les champs en snake_case avec des attributs serde rename.
- Copiez les structs dans votre crate et vérifiez les types Option par rapport à ce que l'API garantit réellement.
FAQ
Pourquoi certains champs sont-ils Option ?
Parce que l'échantillon avait null à cet endroit, ou que le champ était absent. Un champ toujours présent dans votre échantillon sera généré comme un type simple, qui paniquera à la désérialisation dès que l'API l'omettra.
Un seul échantillon JSON donne-t-il des types corrects ?
Il donne des types cohérents avec cet échantillon. Les entiers petits par hasard deviennent i64, et un champ qui est une chaîne dans une réponse et un nombre dans une autre ne sera pas détecté. Vérifiez avec le schéma de l'API.
Qu'en est-il du renommage snake_case ?
La convention Rust veut des champs en snake_case, alors que la plupart des API JSON utilisent le camelCase. Générer des attributs serde rename garde les deux côtés idiomatiques sans couche de mapping manuelle.
Comparaison
| Fonctionnalité | Online Tool Store | Un script CLI | Un plugin IDE |
|---|---|---|---|
| Derives serde inclus | ✓ | ✗ | ✓ |
| Option pour nullable | ✓ | ✗ | ✓ |
| Rien n'est envoyé | ✓ | Local | ✗ |
| Aucune installation | ✓ | ✗ | ✓ |
Le Générateur de structs Rust vous donne un point de départ à partir d'un échantillon ; le schéma de l'API indique quels champs sont vraiment facultatifs.