Converti JSON in Rust
Converti dati JSON in codice Rust. Genera struct Rust compatibili con Serde per lo sviluppo Rust. Gratuito, eseguito nel browser — nessun dato inviato al server.
Input JSON
Output Rust
Cos'è JSON a Rust?
Se stai chiamando una REST API in Rust, hai bisogno di definizioni di struct corrispondenti prima di poter deserializzare qualcosa con Serde. Scrivere quegli struct a mano — specialmente per JSON profondamente annidato — è noioso e soggetto a errori. Questo strumento genera automaticamente struct Rust compatibili con Serde. Incolla il tuo JSON, ottieni struct pronti con #[derive(Serialize, Deserialize)], e aggiungili direttamente al tuo progetto Cargo.
Questo strumento genera struct Rust da JSON. Abilita Serde per i derive Serialize/Deserialize. Abilita i tipi Option per i campi opzionali. L'output funziona con serde_json::from_str e serde_json::to_string.
La conversione viene eseguita interamente nel browser. Il JSON non viene inviato ad alcun server.
Quando è utile JSON a Rust
Quando si sviluppano app Rust che utilizzano API REST e si hanno bisogno di struct tipizzate. Incolla una risposta di esempio qui per generare struct corrispondenti con supporto Serde.
Come usare questo strumento
Incolla o carica JSON
Copia il JSON e incollalo nell'editor a sinistra. Puoi anche cliccare su Carica per caricare un file. Usa il pulsante Esempio per dati di prova. Imposta il nome dello struct e le opzioni nel pannello impostazioni.
Esamina le struct generate
Il pannello a destra mostra le struct Rust generate. Gli oggetti annidati diventano struct separate. Gli array diventano Vec<T>. Se la sintassi JSON non è corretta, usa prima il Formattatore JSON o il Validatore JSON per correggerla.
Copia o scarica
Usa Copia o Scarica per ottenere il codice. Aggiungi serde e serde_json al Cargo.toml. Incolla nel tuo progetto Rust.
Esempi JSON a Rust
Esempio di generazione di struct Rust da un oggetto JSON.
Esempio: Record sottoscrittore
Input JSON:
Output Rust generato:
Quando è utile JSON a Rust
La maggior parte degli sviluppatori ne ha bisogno durante l'integrazione di API REST. Incolla qui e ottieni struct compatibili con Serde pronte all'uso.
Se devi prima unire due file JSON, c'è uno strumento separato per Unione JSON.
Le risposte API, i file di configurazione o le esportazioni di dati sono spesso in JSON. Eseguilo qui per generare struct Rust.
Domande frequenti
Come deserializzo JSON in Rust con Serde?
Aggiungi serde = { version = "1.0", features = ["derive"] } e serde_json = "1.0" al tuo Cargo.toml. Deriva Deserialize sul tuo struct, poi chiama serde_json::from_str::<YourStruct>(&json_string). Genera lo struct qui incollando il tuo JSON.
Cosa fa #[serde(rename)] in Rust?
#[serde(rename = "jsonKey")] dice a Serde di mappare una chiave JSON specifica a un nome di campo Rust. Utile quando JSON usa camelCase (come planName) ma il tuo struct Rust usa snake_case (plan_name). Il generatore li aggiunge automaticamente quando necessario.
Come gestisco i campi JSON opzionali o nullable in Rust?
Abilita Option Types per avvolgere i campi nullable in Option<T>. Questo significa che i campi JSON assenti o null vengono deserializzati in None invece di causare un errore. Puoi anche aggiungere #[serde(skip_serializing_if = "Option::is_none")] per omettere i campi null durante la serializzazione.
Il mio JSON viene inviato a un server?
No. La generazione degli struct viene eseguita interamente nel tuo browser. Il tuo JSON non lascia mai la tua macchina.
E gli oggetti JSON annidati e gli array?
Gli oggetti JSON annidati diventano struct Rust separati, ognuno con il proprio #[derive(Serialize, Deserialize)]. Gli array diventano Vec<T> di quei tipi di struct. Il generatore gestisce profondità di annidamento arbitrarie.
Strumenti correlati
Rust JSON consulta Serde e serde_json. JSON consulta la specifica JSON.