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

1

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.

2

Esamina le struct generate

Il pannello a destra mostra le struct Rust generate. Gli oggetti annidati diventano struct separate. Gli array diventano <code>Vec&lt;T&gt;</code>. Se la sintassi JSON non è corretta, usa prima il Formattatore JSON o il Validatore JSON per correggerla.

3

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:

Input

Output Rust generato:

Output

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.