Rust-struct-generator
De Rust Struct Generator geeft een startpunt op basis van één voorbeeld; het schema van de API zelf laat zien welke velden echt optioneel zijn.
🔒 Deze tool werkt volledig in je browser. Je bestanden worden nooit naar een server geüpload.
Developer
Rust Struct Generator
Frontend-voorbeeld — geen upload of externe dienst.
Rust-structs
Drie geneste structs met #[derive(Serialize, Deserialize, Debug)], user_id hernoemd van userId, en email getypeerd als Option<String> omdat het voorbeeld null was.
Hoe de Rust Struct Generator werkt
- Plak een representatief JSON-voorbeeld — een waarin elk optioneel veld is ingevuld, niet alleen het minimale geval.
- Kies de derives en of velden met serde rename-attributen naar snake_case moeten worden hernoemd.
- Kopieer de structs naar je crate en controleer de Option-types tegen wat de API werkelijk garandeert.
FAQ
Waarom zijn sommige velden Option?
Omdat het voorbeeld daar null had, of het veld ontbrak. Een veld dat altijd aanwezig is in je voorbeeld wordt als gewoon type gegenereerd, wat paniekt bij deserialisatie zodra de API het een keer weglaat.
Geeft één JSON-voorbeeld correcte types?
Het geeft types consistent met dat voorbeeld. Toevallig kleine gehele getallen worden i64, en een veld dat in de ene respons een string is en in de andere een getal, wordt niet opgemerkt. Controleer tegen het schema van de API.
Hoe zit het met snake_case hernoemen?
De Rust-conventie wil snake_case velden, terwijl de meeste JSON-API's camelCase gebruiken. Het genereren van serde rename-attributen houdt beide kanten idiomatisch zonder handmatige mappinglaag.
Vergelijking
| Functie | Online Tool Store | Een CLI-script | Een IDE-plugin |
|---|---|---|---|
| serde-derives inbegrepen | ✓ | ✗ | ✓ |
| Option voor nullable | ✓ | ✗ | ✓ |
| Niets wordt geüpload | ✓ | Lokaal | ✗ |
| Geen installatie | ✓ | ✗ | ✓ |
De Rust Struct Generator geeft een startpunt op basis van één voorbeeld; het schema van de API zelf laat zien welke velden echt optioneel zijn.