Over deze tool
De tool JSON naar Rust Serde-structs zet een geplakte JSON-voorbeeld om in Rust-structs geannoteerd voor serde, zodat je dezelfde payload kunt deserialiseren zonder elk veld met de hand te schrijven. Het parseert de JSON, leidt Rust-types recursief af en produceert een #[derive(Serialize, Deserialize, ...)]-struct per object: strings worden String, integers i64 (of u64 wanneer alle voorbeelden niet-negatief zijn), andere getallen f64, booleans bool, arrays Vec<T>, en geneste objecten hun eigen PascalCase-structs die vóór hun ouders worden gedefinieerd.
Al het werk gebeurt lokaal in je browser met JSON.parse en gewoon JavaScript — er wordt niets geüpload. Struct-velden worden omgezet naar snake_case, en telkens wanneer een JSON-sleutel afwijkt van het snake_case-veld voegt de tool #[serde(rename = "originalKey")] toe zodat de struct nog steeds op het wire-formaat afbeeldt. Sleutels die in sommige broer-voorbeelden afwezig zijn, of als null worden gezien, worden Option<T> met #[serde(default)] zodat deserialisatie hun afwezigheid tolereert. Lege arrays vallen terug op Vec<serde_json::Value>.
De integer-breedteschakelaar wisselt tussen 64-bits (i64/u64, standaard) en 32-bits (i32/u32) integers, en promoveert automatisch naar 64-bits wanneer een bemonsterde waarde het 32-bits bereik overschrijdt. De derive-schakelaar kiest tussen de volledige set (Serialize, Deserialize, Debug, Clone) en een minimale Serialize, Deserialize. Het bestand begint met use serde::{Serialize, Deserialize};. Kopieer het of download een .rs-bestand.