DokumenteBilderMedienPDF-Werkzeuge

JSON in C# Class

C#-Klassen aus JSON generieren, in deinem Browser.

Processed in your browser

JSON zu C#-Klassen, bereit für .NET

Kompatibel mit modernem .NET

Generierte Klassen funktionieren mit System.Text.Json (.NET 5+) und Newtonsoft.Json. Bereit für ASP.NET Core und .NET MAUI.

100% privat

Dein JSON wird im Browser verarbeitet. Nie an externe Server gesendet. Sicher für vertrauliche APIs.

Idiomatischer C#-Code

Auto-Properties, PascalCase, korrekte Nullable-Typen. Code nach offiziellen Microsoft-Konventionen.

Sofortig

Klassen-Generierung in Millisekunden. Keine Installation, keine Anmeldung, kein Warten.

Drei Schritte, kein Aufwand

1

Dein JSON einfügen

Füge ein beliebiges gültiges JSON-Objekt ein. Der Parser erkennt Typen, optionale Felder und verschachtelte Strukturen.

2

C#-Klassen generieren

C#-Klassen werden mit Auto-Properties, Nullable-Typen für optionale Felder und verschachtelten Klassen generiert.

3

Kopieren und im Projekt verwenden

Kopiere den generierten Code in Visual Studio oder VS Code. Kompatibel mit System.Text.Json und Newtonsoft.Json ohne Modifikationen.

Noch Fragen?

Auto-Properties ({ get; set; }) sind ein C#-Feature, das die Deklaration von Properties ohne manuelles Schreiben des Backing-Felds ermöglicht. Statt ein privates Feld und seine expliziten Accessoren zu deklarieren, schreibst du einfach public string Name { get; set; } und der Compiler generiert das Backing-Feld automatisch. Das macht den Code knapper und lesbarer.

.NET-Namenskonventionen (in Microsofts Richtlinien dokumentiert) legen fest, dass öffentliche Properties PascalCase verwenden sollen (PropertyName), im Gegensatz zu Java, das camelCase verwendet. System.Text.Json und Newtonsoft.Json können jedoch automatisch zwischen PascalCase in C# und camelCase in JSON über JsonPropertyName oder Serialisierungskonfiguration mappen.

Wenn ein Feld in einigen JSON-Objekten vorhanden ist, in anderen jedoch nicht, wird es als optional abgeleitet und mit einem Nullable-Typ generiert (string?, int?, bool?). Das erfordert C# 8.0 oder höher mit aktiviertem Nullable-Kontext. Nullable-Typen verhindern NullReferenceException beim Zugriff auf Felder, die in der JSON-Antwort möglicherweise nicht vorhanden sind.

Verschachtelte JSON-Objekte werden in separate C#-Klassen in derselben Datei konvertiert. Jede verschachtelte Klasse wird als reguläre öffentliche Klasse generiert (nicht als Inner-Class), gemäß der C#-Konvention einer Klasse pro Verantwortung. Verweise zwischen Klassen werden über den Property-Typ hergestellt.

System.Text.Json ist in .NET Core 3.0+ enthalten und die empfohlene Option für neue Projekte: Es ist schneller und benötigt keine externen Abhängigkeiten. Newtonsoft.Json (Json.NET) hat mehr Features und ist flexibler, wird bevorzugt wenn du komplexe Custom-Converter oder Kompatibilität mit älteren Projekten benötigst. Von diesem Tool generierte Klassen sind ohne Modifikationen mit beiden kompatibel.

C#-Klassen, Record-Typen, .NET-JSON-Serialisierung und ASP.NET-Core-Entwicklung

C# ist die primäre Sprache des .NET-Ökosystems von Microsoft, wird umfassend für Web-APIs mit ASP.NET Core, Desktop-Anwendungen mit WPF/WinForms und plattformübergreifende Anwendungen mit .NET MAUI genutzt. In der REST-API-Entwicklung mit ASP.NET Core sind Datenmodelle (auch DTOs oder View-Models genannt) C#-Klassen, die den Body von JSON-Anfragen und -Antworten repräsentieren.

Mit C# 9.0 und .NET 5+ führte Microsoft Record-Typen ein: unveränderliche Klassen mit wertbasierter Gleichheit, ideal für DTOs. Im Gegensatz zu regulären Klassen sind Records standardmäßig unveränderlich und erfordern weniger Boilerplate-Code. Für Szenarien, in denen Objekte veränderbar sein müssen (z. B. beim Deserialisieren aus JSON), bleiben Klassen mit Auto-Properties jedoch die Standardoption.

System.Text.Json, eingeführt in .NET Core 3.0, ersetzt Newtonsoft.Json als empfohlene JSON-Serialisierungs-Bibliothek. Es ist erheblich schneller und hat einen kleineren Speicher-Footprint, was für leistungsstarke APIs wichtig ist. In Benchmarks übertrifft System.Text.Json Newtonsoft bei der Serialisierungs- und Deserialisierungsgeschwindigkeit. Convertir.ai generiert Klassen, die mit beiden Bibliotheken kompatibel sind, und verarbeitet alles in deinem Browser, ohne Daten an Server zu senden.