Typgenerierung

JSON zu Klassenein Beispiel, fünf Zielsprachen

Das Beispiel enthält zwei unterschiedliche Datensätze. Wählen Sie Sprache und Namen des Wurzeltyps.

JSON zu Klassen

JSON-Eingabe

JSON wird nur in diesem Browser verarbeitet; Beispiele werden weder hochgeladen noch gespeichert.

Erzeugtes Modell · Rust

Modelloptionen

Alle Array-Einträge werden geprüft. Fehlende und null-Felder sind optional; unbekannte Typen müssen Sie nachprüfen.

2 Deklarationen · 2 optionale Typen

JSON zu Klassen hilft, wenn eine API-Antwort vorliegt, aber noch kein passendes Datenmodell. Mehrere Objekte derselben Antwort zeigen auch Felder, die erst im zweiten Datensatz auftauchen.

Das Ergebnis ist ein Entwurf. Aus wenigen Beispielen lassen sich weder Geschäftsregeln noch künftige Felder, Dezimalgenauigkeit oder Ihre Serializer-Einstellungen sicher ableiten.

Warum JSON zu Klassen verwenden?

Alle Datensätze berücksichtigen

JSON zu Klassen prüft jedes Objekt im obersten Array. Felder, die erst später vorkommen, bleiben im Modell und werden bei Lücken als optional gekennzeichnet.

Zwei Karten mit verschiedenen Feldern laufen in einer gemeinsamen Modellkarte zusammen; ein offener Kreis markiert das optionale Feld.

Zielsprache wechseln, Beispiel behalten

Dasselbe lokale JSON liefert Rust-Structs, C#- und Dart-Klassen, PHP-Klassen oder Scala-Case-Classes. Die Dateiendung passt sich beim Download an.

Eine Datenkarte verzweigt sich zu mehreren unterschiedlich strukturierten Quellcodekarten.

Aus Beispielen belastbare Typen gewinnen

01

Unterschiedliche Einträge sammeln

Legen Sie mehrere Objekte derselben API-Antwort in ein oberstes Array. Später auftauchende Schlüssel werden optional; auch verschachtelte Arrays werden über alle sichtbaren Elemente betrachtet.

02

Den Umfang je Sprache prüfen

Rust erhält Serde-Attribute, C# System.Text.Json-Attribute und Dart fromJson/toJson. PHP und Scala liefern Deklarationen, für deren Einlesen Ihr Projekt zusätzliche Logik braucht.

03

Nur aktuelle Ergebnisse exportieren

Die automatische Erzeugung wartet nach Änderungen 350 ms. Schalten Sie sie aus, erscheint die Schaltfläche; Ctrl/Cmd+Enter funktioniert ebenfalls. Änderungen sperren Kopieren und Download sofort.

Welche Modelle entstehen

Rust und C# mit Schlüsselzuordnung

Ein JSON zu Rust Struct enthält Serde-rename, Option und Vec. C# erhält JsonPropertyName für die ursprünglichen Schlüssel und nullable Properties bei beobachteten Lücken. So entstehen prüfbare DTO Modelle.

Dart mit expliziten Methoden

Der Dart-Modellgenerator erstellt Felder sowie fromJson/toJson für verschachtelte Objekte und Listen. Testen Sie die Ausgabe in Ihrer Dart- oder Flutter-Laufzeit.

PHP und Scala als Deklaration

PHP 8 bekommt typisierte Properties und Hinweise für Array-Elemente. Eine Scala case class nutzt Option und List; ein Codec gehört weiterhin ins Projekt.

Zahlentoken ohne frühe Rundung

JSON zu Klassen prüft die originale Zahlenschreibweise. Sehr große Ganzzahlen und Dezimalzahlen werden nicht fälschlich in einen engen Integer-Typ gepresst.

Grenzen der Ableitung aus Beispielen

Nur fünf implementierte Ziele
Auswählbar sind Rust, C#, Dart, PHP und Scala. Für TypeScript, Go, Java, Python und Swift existieren eigene Werkzeuge; hier erscheinen keine unbrauchbaren Optionen.
Kein Schema und kein URL-Abruf
JSON Schema und OpenAPI-Regeln wie required, Wertebereiche oder Referenzen werden nicht gelesen. Ein Beispiel beweist weder Enum-Werte noch Datums- oder Währungssemantik.
Breite Zahlentypen überprüfen
Ganzzahlen außerhalb des vorzeichenbehafteten 64-Bit-Bereichs und Dezimalzahlen erhalten breite Typen. Präzise Rückkonvertierung hängt auch vom Serializer Ihres Projekts ab.
Deklaration ist keine fertige Anwendung
PHP-Properties füllen sich durch json_decode nicht von selbst; Scala braucht einen Codec und Rust Serde-Abhängigkeiten. Die Seite kompiliert oder startet keinen erzeugten Code.
Strenges JSON und feste Grenzen
Kommentare, doppelte Schlüssel, Schlusskommas und gemischte Top-Level-Arrays werden abgewiesen. Grenzen: 500.000 Zeichen Eingabe, Tiefe 100, 50.000 Knoten, 1.000.000 Zeichen Ausgabe.

Häufige Fragen zu JSON zu Klassen

Welche Sprachmodelle lassen sich aus JSON generieren?

Hier werden Modelle für Rust, C#, Dart, PHP und Scala erzeugt. Die Auswahl zeigt nur diese implementierten Ziele; jeder Download hat die passende Dateiendung.

Kann ich Records und DTOs statt Klassen erstellen?

Dieses Werkzeug erstellt Klassen oder Case-Classes statt einer zusätzlichen Record-Variante. Für C# werden System.Text.Json-Attribute ausgegeben; die Modellform ist festgelegt.

Wie werden optionale oder null-Felder dargestellt?

Fehlt ein Feld in einigen Array-Einträgen oder steht dort null, erhält es einen optionalen Typ. Ein ausschließlich null-Wert kann keinen konkreten Typ belegen.

Funktioniert die Ausgabe direkt mit JSON-Serialisierung?

Dart enthält fromJson/toJson, Rust Serde-Attribute und C# System.Text.Json-Attribute. PHP und Scala brauchen zusätzliche Hydration beziehungsweise einen Codec im Projekt.

Kann ich generierte Typen in meinem Projekt verwenden?

Ja, als Ausgangspunkt. Prüfen Sie Namensregeln, optionale Felder, Zahlen und die tatsächliche Serializer-Konfiguration gegen Ihre API-Verträge.

Fehlt ein Datenfall?

Jetzt JSON zu Klassen als Entwurf erzeugen

Geben Sie bei JSON zu Klassen mehrere realistische Datensätze ein, prüfen Sie optionale Felder und Namen und testen Sie die heruntergeladene Datei in Ihrem Projekt.