Omnikit
DevDateienFinanzenAlle Tools
Ctrl K
Dev-ToolsDatei-ToolsFinanzrechnerAlle Tools
StartseiteEntwickler-ToolsJSON-zu-Rust-Struct-Konverter
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

JSON-zu-Rust-Struct-Konverter

dev

Machen Sie aus einem JSON-Beispiel Rust-Structs mit serde-Derives, Umbenennungen, Option und Vec

Läuft in Ihrem Browser. Nichts, was Sie eingeben, wird irgendwohin gesendet. Geprüft am 16. Oktober 2026.

Fügen Sie ein JSON-Beispiel ein und erhalten Sie Rust-Structs mit den Derives Serialize und Deserialize von serde. Ganze Zahlen werden zu i64, und jede Dezimalzahl macht ein Feld zu f64; ein Wert, der null ist oder in manchen Objekten fehlt, wird zu Option<T>, und Schlüssel, die anders geschrieben sind als ihr snake_case-Feld, erhalten ein serde-rename, 1 rename_all, wenn alle camelCase sind.

Diese Seite wurde maschinell aus dem englischen Original übersetzt. Die Übersetzung wurde noch von keinem Menschen geprüft; maßgeblich ist die englische Fassung. Englisches Original lesen

Weiter:
  • JSON in TypeScript umwandeln TypeScript-Interfaces oder -Typen aus einem JSON-Beispiel erzeugen
  • JSON-Formatierer und Validator JSON formatieren, validieren, minifizieren und sortieren, mit genauer Fehlerposition

So wandeln Sie JSON in ein Rust-Struct um

1

Fügen Sie ein JSON-Beispiel, etwa eine API-Antwort, in das linke Feld ein.

2

Die Rust-Structs erscheinen während der Eingabe, jedes mit #[derive(Serialize, Deserialize)], Feldern in snake_case und den nötigen serde-Umbenennungen.

3

Schalten Sie Option für jedes Feld oder PartialEq ein, wenn Sie es möchten, und legen Sie den Namen des Wurzel-Structs fest.

4

Klicken Sie auf Kopieren oder auf Herunterladen, um models.rs zu speichern, und fügen Sie serde (mit dem Feature derive) und serde_json zu Cargo.toml hinzu.

Über den JSON-zu-Rust-Struct-Konverter

Rust dekodiert JSON mit serde, und jedes Objekt braucht ein Struct, dessen Felder die richtigen Typen haben und dessen Namen auf die JSON-Schlüssel abbilden. Dieser Konverter schreibt diese Structs aus einem Beispiel, sodass eine lange API-Antwort mit einem Einfügen zu kompilierbarem Rust wird.

Wie die Typen gewählt werden.

JSON-Wert Rust-Typ
"text" String
true / false bool
42 (nur ganze Zahlen) i64
4.5 (irgendeine Dezimalzahl gesehen) f64
null und zusätzlich ein Typ Option
nur null oder gemischte Arten serde_json::Value
[ ... ] Vec<...>
{ } leer Map<String, Value>
{ ... } ein eigenes Struct

Fehlende Schlüssel. Alle Objekte eines Arrays werden zu einem Struct zusammengeführt. Ein Schlüssel, den manche weglassen, wird zu einer Option, weil serde eine fehlende Option als None behandelt und jedes andere fehlende Feld als Fehler. Diese Felder erhalten außerdem skip_serializing_if, sodass sie beim Zurückschreiben des Structs wieder weggelassen werden.

Namen. Felder stehen in snake_case. Ist jeder Schlüssel einfach die camelCase-Form seines Felds, trägt das Struct ein einziges rename_all; andernfalls erhält jedes abweichende Feld sein eigenes rename. Schlüsselwörter werden zu Raw-Bezeichnern wie r#type; self, super und crate können nicht raw sein und werden daher zu self_ mit einem rename.

Optionen. Option für jedes Feld passt zu APIs, die jeden Schlüssel weglassen können. PartialEq ableiten lässt Tests Werte vergleichen. Das Wurzel-Struct heißt Root, sofern Sie keinen Namen vergeben.

Jede Ausgabe wurde geprüft, indem das Rust nach den Regeln von serde zurückgelesen und 9 Beispiele damit dekodiert wurden. Nichts, was Sie einfügen, verlässt den Browser.

Häufig gestellte Fragen

Wie wandle ich JSON in ein Rust-Struct um?

Fügen Sie ein JSON-Beispiel in den Konverter ein, und die Rust-Structs erscheinen daneben, jedes mit Serialize und Deserialize. Fügen Sie serde mit dem Feature derive und serde_json zu Cargo.toml hinzu, setzen Sie die Structs in ein Modul und dekodieren Sie mit serde_json::from_str::<Root>(&text).

Wann wird ein Feld zu Option<T>?

Ein Feld wird zu Option, wenn das Beispiel es als null zeigt oder wenn manche Objekte eines Arrays den Schlüssel weglassen. Serde dekodiert einen fehlenden Schlüssel in einer Option als None, während jedes andere fehlende Feld ein Fehler ist, daher lässt erst Option das Struct jedes Objekt des Beispiels annehmen.

Wie werden JSON-Schlüssel in camelCase auf snake_case-Felder abgebildet?

Felder werden in snake_case geschrieben, wie es der Rust-Stil verlangt. Ist jeder Schlüssel die camelCase-Form seines Felds, erhält das Struct ein einziges #[serde(rename_all = "camelCase")]; andernfalls erhält jedes anders geschriebene Feld sein eigenes #[serde(rename = "key")], sodass auch Schlüssel wie first-name oder 2fa dekodiert werden.

Warum i64 und f64 statt i32 oder f32?

JSON sagt nicht, wie groß eine Zahl werden darf, daher ist i64 der sichere Ganzzahltyp, und f64 entspricht der doppelten Genauigkeit, mit der JSON-Zahlen gelesen werden. Ein Feld wird zu f64, sobald irgendein Beispielwert Nachkommastellen hat, weil serde sich weigert, 4.5 in eine Ganzzahl zu lesen.

Was passiert mit einem Schlüssel namens type oder match?

Schlüsselwörter werden als Raw-Bezeichner geschrieben, etwa r#type, und serde entfernt das r# beim Abgleich mit dem Schlüssel, sodass kein rename nötig ist. Die vier Schlüsselwörter, die nicht raw sein können, self, Self, super und crate, werden zu self_ und Ähnlichem, mit einem rename zurück auf den ursprünglichen Schlüssel.

Wird mein JSON hochgeladen?

Nein. Die Umwandlung läuft in Ihrem Browser ohne Anfrage an einen Server, und das JSON wird nicht gespeichert, sodass API-Antworten mit Tokens oder persönlichen Daten auf Ihrem Gerät bleiben. Schließen Sie den Tab, und nichts bleibt zurück.

Quellen

  • serde, field attributesrename and skip_serializing_if on a field
  • serde, container attributesrename_all = "camelCase" on a struct
  • The Rust Reference, keywords and raw identifiersWhich names need r#, and the four that cannot be raw
  • Rust API Guidelines, namingUpperCamelCase types, snake_case fields

Zuletzt geprüft am 16. Oktober 2026.

Sätze und Regeln ändern sich; prüfen Sie die Quelle, bevor Sie sich auf eine Zahl verlassen.

Kommen Sie nicht weiter? Fragen Sie zu JSON-zu-Rust-Struct-Konverter und jeder, der es weiß, kann antworten. Kein Konto nötig.

Ähnliche Tools

Alle Entwickler-Tools
Base64 kodieren und dekodierenText und Dateien in Base64 und zurück, mit URL-sicherem Modus und BildvorschauUnix-Timestamp-KonverterUnix-Timestamps in Datumsangaben und Datumsangaben in Timestamps, in jeder ZeitzoneJSON in TypeScript umwandelnTypeScript-Interfaces oder -Typen aus einem JSON-Beispiel erzeugenCSV in JSON umwandelnCSV in JSON und JSON in CSV umwandeln, mit TabellenvorschauYAML in JSON umwandelnYAML in JSON und JSON in YAML umwandeln, mit aufgelösten AnkernURL-Encoder und -DecoderText und URLs prozentkodieren oder dekodieren und jeden Teil eines Links sehenZahlensystem-UmrechnerBinär, oktal, dezimal, hexadezimal und jede Basis bis 36, exakt bei jeder Größe, mit ZweierkomplementColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
War dieses Tool hilfreich?
Omnikit

Kleine Aufgaben, erledigt in Ihrem Browser. Kostenlos, schnell und privat. Dateien werden nie hochgeladen.

Dateien

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Dev

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Finanzen

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
AnleitungenFragenÜber unsWie wir prüfenGesetzesbibliothek (Beta)DatenschutzNutzungsbedingungenOffenlegungKontaktMore: Exam practice (UGC NET Paper 1)Läuft in Ihrem Browser. Nichts wird hochgeladen. © 2026 Omnikit (theomnikit.com)