JSON vers Rust
Convertir JSON en structs Rust en ligne. Générer des structs compatibles Serde pour le développement Rust. Gratuit, s'exécute dans votre navigateur—aucune donnée envoyée.
Entrée JSON
Sortie Rust
Qu'est-ce que JSON vers Rust ?
Si vous appelez une REST API en Rust, vous avez besoin de définitions de structs correspondantes avant de pouvoir désérialiser quoi que ce soit avec Serde. Écrire ces structs à la main — surtout pour du JSON profondément imbriqué — est fastidieux et source d'erreurs. Cet outil génère automatiquement des structs Rust compatibles Serde. Collez votre JSON, obtenez des structs prêts avec #[derive(Serialize, Deserialize)], et ajoutez-les directement à votre projet Cargo.
Cet outil génère des structs Rust compatibles Serde à partir de votre JSON. Activez Serde pour les attributs #[derive(Serialize, Deserialize)].
La conversion s'exécute entièrement dans votre navigateur. Rien n'est envoyé à un serveur.
Quand JSON vers Rust aide
Lors du développement d'APIs ou de services Rust qui consomment des APIs REST.
Comment utiliser cet outil
Coller ou importer JSON
Collez votre JSON dans l'éditeur de gauche ou importez un fichier. Utilisez Exemple pour des données d'exemple.
Vérifier les structs générés
Le panneau de droite affiche les structs Rust. Pour un JSON invalide, utilisez le Formatage JSON ou le Validateur JSON.
Copier ou télécharger
Utilisez Copier ou Télécharger. Collez dans votre projet Rust.
Exemples JSON vers Rust
Voici un exemple de génération de structs Rust à partir d'un objet JSON.
Exemple : Enregistrement abonné
Entrée JSON :
Sortie Rust générée :
Quand JSON vers Rust aide
La plupart des développeurs ont besoin de cela lors de l'intégration avec des APIs REST.
Pour fusionner deux fichiers JSON d'abord, il y a l'outil Fusion JSON.
Les exports de base de données, fichiers de configuration ou réponses API sont souvent en JSON.
Questions fréquentes
Comment désérialiser du JSON en Rust avec Serde ?
Ajoutez serde = { version = "1.0", features = ["derive"] } et serde_json = "1.0" à votre Cargo.toml. Dérivez Deserialize sur votre struct, puis appelez serde_json::from_str::<YourStruct>(&json_string). Générez le struct ici en collant votre JSON.
Que fait #[serde(rename)] en Rust ?
#[serde(rename = "jsonKey")] dit à Serde de mapper une clé JSON spécifique vers un nom de champ Rust. Utile quand JSON utilise camelCase (comme planName) mais que votre struct Rust utilise snake_case (plan_name). Le générateur les ajoute automatiquement quand nécessaire.
Comment gérer les champs JSON optionnels ou nullable en Rust ?
Activez Option Types pour envelopper les champs nullable dans Option<T>. Cela signifie que les champs JSON absents ou null se désérialisent en None au lieu de causer une erreur. Vous pouvez aussi ajouter #[serde(skip_serializing_if = "Option::is_none")] pour omettre les champs null lors de la sérialisation.
Mon JSON est-il envoyé à un serveur ?
Non. La génération de structs s'exécute entièrement dans votre navigateur. Votre JSON ne quitte jamais votre machine.
Qu'en est-il des objets JSON imbriqués et des tableaux ?
Les objets JSON imbriqués deviennent des structs Rust séparés, chacun avec son propre #[derive(Serialize, Deserialize)]. Les tableaux deviennent des Vec<T> de ces types de struct. Le générateur gère une profondeur d'imbrication arbitraire.
Outils connexes
Pour JSON en Rust, voir Serde et serde_json. Pour JSON, voir la spécification JSON.