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?
Rust utilizza struct per i dati strutturati. Quando si usa JSON con Serde, sono necessarie definizioni di struct corrispondenti. La specifica JSON definisce oggetti, array, stringhe, numeri e booleani, ma Rust richiede definizioni di struct esplicite per ogni oggetto annidato.
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 <code>Vec<T></code>. 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
Serde o deserializzazione manuale?
Serde è lo standard per JSON in Rust. Genera Serialize e Deserialize tramite derive macro. Aggiungi serde = { version = "1.0", features = ["derive"] } e serde_json al Cargo.toml.
Option per i campi null?
Abilita i tipi Option per i campi JSON opzionali. Avvolge i campi nullable in Option<T>.
I dati vengono inviati da qualche parte?
No. La generazione viene eseguita interamente nel browser. I dati non vengono inviati ad alcun server.
Puoi usare #[serde(rename)]?
Sì. Quando i nomi dei campi Rust (snake_case) differiscono dalle chiavi JSON (camelCase), il generatore aggiunge #[serde(rename = "jsonKey")].
Cosa succede agli oggetti annidati?
Gli oggetti JSON annidati diventano struct Rust separate. Gli array diventano Vec<T> del tipo di struct corrispondente.
Strumenti correlati
Rust JSON consulta Serde e serde_json. JSON consulta la specifica JSON.