JSON zu Rust
JSON online in Rust-Structs umwandeln. Serde-kompatible Structs für Rust-Entwicklung generieren. Kostenlos, läuft im Browser—keine Datenübertragung.
JSON-Eingabe
Rust-Ausgabe
Was ist JSON zu Rust?
Wenn du eine REST-API in Rust aufruft, brauchst du passende Struct-Definitionen, bevor du irgendetwas mit Serde deserialisieren kannst. Diese Structs von Hand zu schreiben — besonders für tief verschachteltes JSON — ist mühsam und fehleranfällig. Dieses Tool generiert Serde-kompatible Rust-Structs automatisch. Füge dein JSON ein, bekomme fertige Structs mit #[derive(Serialize, Deserialize)] und füge sie direkt in dein Cargo-Projekt ein.
Dieses Tool erzeugt Rust-Structs aus Ihrem JSON. Aktivieren Sie Serde für Serialize/Deserialize-Derives. Aktivieren Sie Option Types für optionale Felder.
Die Konvertierung läuft vollständig in Ihrem Browser. Ihr JSON wird nie an einen Server gesendet.
Wann JSON zu Rust hilft
Beim Entwickeln von Rust-Apps, die REST-APIs nutzen, brauchen Sie typisierte Structs.
So verwenden Sie dieses Tool
JSON einfügen oder hochladen
Kopieren Sie Ihr JSON und fügen Sie es in den linken Editor ein. Nutzen Sie die Beispiel-Schaltfläche für Beispieldaten. Setzen Sie Struct-Namen und Optionen im Konfigurationspanel.
Generierte Structs prüfen
Das rechte Panel zeigt die generierten Rust-Structs. Bei ungültiger JSON-Syntax nutzen Sie zuerst den JSON Formatierer oder den JSON Validator.
Kopieren oder Herunterladen
Nutzen Sie Kopieren oder Herunterladen, um den Code zu erhalten. Fügen Sie serde und serde_json zu Ihrer Cargo.toml hinzu.
Beispiele: JSON zu Rust
Hier ein Beispiel für die Generierung von Rust-Structs aus einem JSON-Objekt.
Beispiel: Teilnehmerdatensatz
JSON-Eingabe:
Generierte Rust-Ausgabe:
Wann JSON zu Rust hilft
Die meisten Entwickler brauchen dies bei der Integration mit REST-APIs.
Zum Zusammenführen von zwei JSON-Dateien gibt es das JSON Zusammenführen-Tool.
API-Antworten, Konfigurationsdateien oder Datenexporte sind oft JSON.
Häufig gestellte Fragen
Wie deserialisiere ich JSON in Rust mit Serde?
Füge serde = { version = "1.0", features = ["derive"] } und serde_json = "1.0" zu deiner Cargo.toml hinzu. Leite Deserialize für deinen Struct ab, dann rufe serde_json::from_str::<YourStruct>(&json_string) auf. Generiere den Struct hier durch Einfügen deines JSON.
Was macht #[serde(rename)] in Rust?
#[serde(rename = "jsonKey")] weist Serde an, einen bestimmten JSON-Schlüssel auf einen Rust-Feldnamen zu mappen. Das ist nützlich, wenn JSON camelCase verwendet (wie planName), aber dein Rust-Struct snake_case (plan_name) nutzt. Der Generator fügt diese automatisch hinzu, wenn nötig.
Wie behandle ich optionale oder nullable JSON-Felder in Rust?
Aktiviere Option Types, um nullable Felder in Option<T> zu verpacken. Das bedeutet, fehlende oder null-JSON-Felder deserialisieren zu None statt einen Fehler zu verursachen. Du kannst auch #[serde(skip_serializing_if = "Option::is_none")] hinzufügen, um null-Felder beim Serialisieren auszulassen.
Werden meine JSON-Daten an einen Server gesendet?
Nein. Die Struct-Generierung läuft vollständig in deinem Browser. Dein JSON verlässt deinen Rechner nie.
Was ist mit verschachtelten JSON-Objekten und Arrays?
Verschachtelte JSON-Objekte werden zu separaten Rust-Structs, jeder mit eigenem #[derive(Serialize, Deserialize)]. Arrays werden zu Vec<T> dieser Struct-Typen. Der Generator verarbeitet beliebige Schachtelungstiefe.
Verwandte Tools
Für Rust JSON siehe Serde und serde_json. Für JSON siehe die JSON-Spezifikation.