JSON en struct Rust
Convertissez un document JSON en structs Rust prêtes pour serde.
JSON en struct Rust
Collez un objet ou un tableau JSON et cet outil génère les structs Rust correspondantes, prêtes à insérer dans un projet qui utilise serde pour la sérialisation. Cela vous évite le travail fastidieux d'écrire manuellement les types de champs et les attributs derive chaque fois qu'une réponse API ou un fichier de configuration change de forme.
Les options contrôlent l'apparence du code généré. Choisissez les traits à dériver — Debug, Clone, Serialize, Deserialize, PartialEq — et si vous voulez ajouter #[serde(rename_all = "camelCase")] pour que les champs Rust idiomatiques snake_case désérialisent correctement les clés JSON camelCase. Les valeurs null peuvent devenir Option<T> automatiquement, et vous pouvez choisir i32, i64 ou u64 pour les nombres entiers et String ou un &str emprunté (avec une durée de vie) pour le texte. Les objets imbriqués peuvent être générés en tant que structs de niveau supérieur séparées ou enveloppés dans leur propre pub mod, et les champs peuvent être publics ou privés.
Les tableaux d'objets sont fusionnés en une seule struct : un champ présent seulement dans certains éléments devient Option<T> automatiquement, donc une struct générée à partir de quelques exemples correspond toujours à l'ensemble de données complet. Les noms de champs sont convertis en snake_case, les mots-clés Rust sont transformés en identifiants bruts comme r#type, et un nom qui ne peut pas être représenté correctement conserve sa clé d'origine via #[serde(rename = "...")] à la place.
Tout s'exécute localement dans votre navigateur — votre JSON n'est jamais téléchargé nulle part, il est donc sûr de coller des charges API réelles ou des données de configuration. Copiez le code généré, téléchargez-le en tant que fichier .txt, ou renvoyez le résultat à l'entrée pour l'affiner davantage.