Rust-Struct-Generator
Der Rust Struct Generator liefert einen Ausgangspunkt aus einer Probe; das Schema der API selbst zeigt, welche Felder wirklich optional sind.
🔒 Dieses Tool läuft vollständig in Ihrem Browser. Ihre Dateien werden niemals an einen Server hochgeladen.
Entwickler
Rust Struct Generator
Frontend-Vorschau — kein Upload, kein externer Dienst.
Rust-Structs
Drei verschachtelte Structs mit #[derive(Serialize, Deserialize, Debug)], user_id umbenannt von userId, und email als Option<String> typisiert, weil die Probe null war.
So funktioniert der Rust Struct Generator
- Fügen Sie eine repräsentative JSON-Probe ein — eine, in der jedes optionale Feld ausgefüllt ist, nicht nur der Minimalfall.
- Wählen Sie die Derives und ob Felder mit serde-rename-Attributen in snake_case umbenannt werden sollen.
- Kopieren Sie die Structs in Ihre Crate und prüfen Sie die Option-Typen gegen das, was die API tatsächlich garantiert.
FAQ
Warum sind manche Felder Option?
Weil die Probe dort null hatte oder das Feld fehlte. Ein Feld, das in Ihrer Probe immer vorhanden ist, wird als einfacher Typ generiert, was bei der Deserialisierung sofort abstürzt, wenn die API es einmal weglässt.
Liefert eine JSON-Probe korrekte Typen?
Sie liefert mit dieser Probe konsistente Typen. Zufällig kleine Ganzzahlen werden zu i64, und ein Feld, das in einer Antwort ein String und in einer anderen eine Zahl ist, wird nicht erkannt. Prüfen Sie gegen das Schema der API.
Was ist mit der snake_case-Umbenennung?
Die Rust-Konvention verlangt snake_case-Felder, während die meisten JSON-APIs camelCase verwenden. Das Generieren von serde-rename-Attributen hält beide Seiten idiomatisch ohne manuelle Zuordnungsebene.
Vergleich
| Funktion | Online Tool Store | Ein CLI-Skript | Ein IDE-Plugin |
|---|---|---|---|
| serde-Derives enthalten | ✓ | ✗ | ✓ |
| Option für Nullable | ✓ | ✗ | ✓ |
| Nichts wird hochgeladen | ✓ | Lokal | ✗ |
| Keine Installation | ✓ | ✗ | ✓ |
Der Rust Struct Generator liefert einen Ausgangspunkt aus einer Probe; das Schema der API selbst zeigt, welche Felder wirklich optional sind.