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

1

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.

2

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.

3

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:

Eingabe

Generierte Rust-Ausgabe:

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.