JSON zu C# Konverter — Klassen generieren
JSON online in C#-Klassen umwandeln: Modelle mit System.Text.Json- oder Newtonsoft.Json-Attributen, Nullable-Typen und List<T>. Kostenlos und privat im Browser.
🔒 Läuft vollständig in Ihrem Browser — nichts wird hochgeladenJSON in C#-Modellklassen umwandeln
Dieser JSON-zu-C#-Konverter liest ein JSON-Beispiel und erzeugt stark typisierte C#-Klassen, die dessen Struktur abbilden. Jedes Objekt wird zu einer public partial class, jede Eigenschaft erhält einen PascalCase-Namen samt Serializer-Attribut, das sie dem ursprünglichen JSON-Schlüssel zuordnet, und verschachtelte Objekte werden zu eigenen Klassen, benannt nach der Eigenschaft, die sie enthält. Arrays werden zu List<T> oder T[], ISO-Datumswerte zu DateTimeOffset, und Werte, die manchmal fehlen oder null sind, werden als Nullable-Typen ausgegeben – so lässt sich Ihr Code gegen reale Payloads kompilieren statt gegen eine idealisierte Variante.
Im Hintergrund arbeitet quicktype, eine ausgereifte Engine zur Typableitung, die alle Elemente eines Arrays zusammenführt, bevor sie einen Typ festlegt. Eine Liste von Bestellungen, bei der nur manche einen Gutschein enthalten, ergibt daher eine einzige Order-Klasse mit optionaler Coupon-Eigenschaft – und nicht eine Klasse, die nur zum ersten Element passt.
System.Text.Json oder Newtonsoft
Moderne .NET-Projekte setzen meist auf System.Text.Json, das hier die Voreinstellung ist: Eigenschaften werden mit [JsonPropertyName] versehen, und die Ausgabe enthält eine FromJson-Factory, eine ToJson-Erweiterungsmethode und Konvertereinstellungen für ISO-Datumswerte. Nutzt Ihre Codebasis noch Json.NET, wechseln Sie den Serializer zu Newtonsoft und erhalten [JsonProperty]-Attribute mit denselben Hilfsfunktionen auf Basis von JsonConvert. Wählen Sie Classes only, wenn Sie nur die POCOs für einen bestehenden DTO-Ordner benötigen, und legen Sie den Namespace fest, damit die Datei direkt in Ihre Solution passt.
Tipps für präzise C#-Typen
Fügen Sie das aussagekräftigste Beispiel ein, das Sie finden: mit optionalen Feldern, leeren und gefüllten Arrays und mehr als einem Array-Element, damit die Typableitung erkennt, welche Eigenschaften immer vorhanden sind. Benennen Sie die Root-Klasse vor dem Download von Root in etwas Sinnvolles wie OrderResponse um – der Dateiname folgt ihr. Prüfen Sie den Code nach dem Einfügen in Visual Studio oder Rider auf Typen, die das Beispiel nicht verrät: eine Ganzzahl-ID, die long überschreiten kann, einen String, der eigentlich ein Enum ist, oder Geldbeträge, die besser als decimal geführt werden. Alles läuft lokal, daher können Sie bedenkenlos Produktivantworten verwenden.
So verwenden Sie
- JSON einfügenFügen Sie ein JSON-Objekt oder -Array ein oder klicken Sie auf Load sample, um es auszuprobieren.
- Optionen festlegenWählen Sie Root-Klassennamen, Namespace, Serializer und Collection-Typ.
- Klassen kopierenKopieren Sie das erzeugte C# oder laden Sie es als .cs-Datei für Ihr Projekt herunter.
Häufig gestellte Fragen
Werden System.Text.Json und Newtonsoft.Json unterstützt?
[JsonPropertyName]- oder [JsonProperty]-Attribute sowie Konverter-Hilfsfunktionen für diese Bibliothek.Kann ich einfache Klassen ohne Serializer-Hilfsfunktionen erhalten?
Wie werden Datumswerte, Dezimalzahlen und Nullwerte typisiert?
DateTimeOffset, Zahlen mit Nachkommastellen zu double, und Felder, die in einigen Beispielen fehlen oder null sind, werden Nullable.