À propos de cet outil
L'outil JSON vers structs Serde Rust convertit un exemple JSON collé en structs Rust annotés pour serde, afin que vous puissiez désérialiser la même charge utile sans écrire chaque champ à la main. Il analyse le JSON, infère les types Rust récursivement et émet un struct #[derive(Serialize, Deserialize, ...)] par objet : les chaînes deviennent String, les entiers i64 (ou u64 quand tous les échantillons sont non négatifs), les autres nombres f64, les booléens bool, les tableaux Vec<T>, et les objets imbriqués leurs propres structs PascalCase définis avant leurs parents.
Tout le travail se déroule localement dans votre navigateur avec JSON.parse et du JavaScript standard — rien n'est téléversé. Les champs de struct sont convertis en snake_case, et chaque fois qu'une clé JSON diffère du champ snake_case, l'outil ajoute #[serde(rename = "originalKey")] pour que le struct corresponde toujours au format de transmission. Les clés absentes de certains échantillons frères, ou vues comme null, deviennent Option<T> avec #[serde(default)] pour que la désérialisation tolère leur absence. Les tableaux vides se rabattent sur Vec<serde_json::Value>.
La bascule de largeur d'entier permute entre les entiers 64 bits (i64/u64, par défaut) et 32 bits (i32/u32), promouvant automatiquement en 64 bits quand une valeur échantillonnée dépasse la plage 32 bits. La bascule de dérives choisit entre le jeu complet (Serialize, Deserialize, Debug, Clone) et un minimal Serialize, Deserialize. Le fichier commence par use serde::{Serialize, Deserialize};. Copiez-le ou téléchargez un fichier .rs.