JSON Rustiksi
Muunna JSON Rust-rakenteiksi verkossa. Luo Serde-yhteensopivia structeja Rust-kehitykseen. Ilmainen, toimii selaimessa—dataa ei lähetetä palvelimille.
JSON-syöte
Rust-tulos
Mikä on JSON Rustiksi?
Jos kutsut REST API:a Rustissa, tarvitset vastaavat struct-määrittelyt ennen kuin voit deserialisoida mitään Serdellä. Näiden structs kirjoittaminen käsin — erityisesti syvään sisäkkäiselle JSON:lle — on työlästä ja virhealtista. Tämä työkalu luo automaattisesti Serde-yhteensopivia Rust-structs. Liitä JSON:isi, saat käyttövalmiit structs #[derive(Serialize, Deserialize)]-merkinnöillä ja lisää ne suoraan Cargo-projektiisi.
Tämä työkalu luo Rust-structeja JSONistasi. Ota Serde käyttöön Serialize/Deserialize -deriveille. Ota Option-tyypit valinnaisille kentille. Tuloste toimii serde_json::from_str- ja serde_json::to_string -kutsujen kanssa.
Muunnos tapahtuu kokonaan selaimessasi. JSONiasi ei lähetetä palvelimelle.
Milloin JSON Rustiksi on hyödyllinen
Kun rakennat Rust-sovelluksia, jotka käyttävät REST-rajapintoja, tarvitset tyypitettyjä structeja. Liitä esimerkkivastaus tähän, niin saat vastaavat structit Serde-tuella.
Miten työkalua käytetään
Liitä tai lataa JSON
Kopioi JSON ja liitä se vasempaan editoriin. Voit myös napsauttaa Lataa ja avata tiedoston. Käytä Esimerkki-painiketta testidataan. Aseta structin nimi ja valinnat asetuspaneelissa.
Tarkista generoidut structit
Oikea paneeli näyttää generoidut Rust-structit. Sisäkkäiset objektit tulevat erillisiksi structeiksi. Taulukoista tulee Vec<T>. Jos JSONin syntaksi on virheellinen, korjaa se ensin JSON-muotoilijalla tai JSON-tarkistimella.
Kopioi tai lataa
Käytä Kopioi tai Lataa tiedostona saadaksesi koodin. Lisää serde ja serde_json Cargo.toml-tiedostoon. Liitä koodi Rust-projektiisi.
Esimerkkejä JSON Rustiksi
Tässä esimerkki Rust-structien generoinnista JSON-objektista.
Esimerkki: Tilaajatietue
JSON-syöte:
Generoitu Rust-tulos:
Milloin JSON Rustiksi on hyödyllinen
Useimmat kehittäjät tarvitsevat tätä REST-rajapintojen integroinnissa. Liittämällä datan tähän saat heti Serde-yhteensopivia structeja.
Jos sinun täytyy ensin yhdistää kaksi JSON-tiedostoa, käytä erillistä JSON-yhdistäminen -työkalua.
API-vastaukset, asetustiedostot tai dataviennit ovat usein JSONia. Käsittele niitä täällä, niin saat Rust-structeja.
Usein kysyttyä
Miten deserialisoin JSON:in Rustissa Serdellä?
Lisää serde = { version = "1.0", features = ["derive"] } ja serde_json = "1.0" Cargo.toml-tiedostoosi. Johdenna Deserialize structillesi, sitten kutsu serde_json::from_str::<YourStruct>(&json_string). Generoi struct täällä liittämällä JSON:isi.
Mitä #[serde(rename)] tekee Rustissa?
#[serde(rename = "jsonKey")] kertoo Serdelle yhdistää tietyn JSON-avaimen Rust-kenttänimeen. Hyödyllinen kun JSON käyttää camelCase:ia (kuten planName) mutta Rust-structisi käyttää snake_case:ia (plan_name). Generaattori lisää ne automaattisesti tarvittaessa.
Miten käsittelen valinnaisia tai nullable JSON-kenttiä Rustissa?
Ota Option Types käyttöön kääriäksesi nullable-kentät Option<T>:hin. Tämä tarkoittaa, että puuttuvat tai null JSON-kentät deserialisoituvat None:ksi virheen sijaan. Voit myös lisätä #[serde(skip_serializing_if = "Option::is_none")] jättääksesi null-kentät pois serialisoinnissa.
Lähetetäänkö JSON:ini palvelimelle?
Ei. Struct-generointi toimii kokonaan selaimessasi. JSON:isi ei koskaan poistu koneeltasi.
Entä sisäkkäiset JSON-objektit ja taulukot?
Sisäkkäiset JSON-objektit muuttuvat erillisiksi Rust-structeiksi, kukin omalla #[derive(Serialize, Deserialize)]-merkinnällään. Taulukot muuttuvat Vec<T>:ksi niistä struct-tyypeistä. Generaattori käsittelee mielivaltaisen sisäkkäisyyssyvyyden.
Liittyvät työkalut
Rust JSON — katso Serde ja serde_json. JSON — katso JSON-määrittely.