JSON zu C#
JSON in C#-Klassen und POCO-Objekte für .NET-Entwicklung umwandeln
JSON-Eingabe
C#-Ausgabe
Was ist JSON zu C#?
C# verwendet Klassen und Properties zur Datendarstellung. Bei JSON aus APIs oder Konfigurationen brauchen Sie passende C#-Typen für die Deserialisierung. Dieses Tool erzeugt C#-Klassen (POCOs) aus Ihrem JSON. Fügen Sie Beispiel-JSON ein und erhalten Sie Klassendefinitionen mit den richtigen Property-Typen. Nutzen Sie sie mit System.Text.Json oder Newtonsoft.Json.
Die Konvertierung läuft in Ihrem Browser. Nutzen Sie die Konfigurationsoptionen für Klassennamen, Properties vs. Felder und Nullable-Typen. Nichts wird an einen Server gesendet.
So verwenden Sie dieses Tool
JSON einfügen
Fügen Sie Ihr JSON in den linken Editor ein oder laden Sie eine Datei hoch. Nutzen Sie Beispiel für Beispieldaten. Setzen Sie den Root-Klassennamen und Optionen (Properties, Nullable) im Konfigurationspanel.
Klassen prüfen
Das rechte Panel zeigt generierte C#-Klassen. Verschachtelte Objekte werden zu eigenen Klassen. Arrays werden zu List<T> oder T[]. Fügen Sie bei Bedarf [JsonPropertyName]-Attribute für andere JSON-Schlüssel hinzu.
Kopieren oder Herunterladen
Nutzen Sie <strong>Kopieren</strong> oder <strong>Herunterladen</strong>, um den Code zu erhalten. Fügen Sie ihn in Ihr .NET-Projekt ein. Zum Formatieren von JSON zuerst den JSON Formatierer verwenden. Zur Validierung den JSON Validator.
Beispiele: JSON zu C#
Hier ein Beispiel für die Generierung von C#-Klassen aus einem JSON-Objekt.
Beispiel: Teilnehmerdatensatz
JSON-Eingabe:
Generierte C#-Ausgabe:
Wann JSON zu C# hilft
Bei der Integration von REST-APIs in .NET, ASP.NET Core oder Blazor brauchen Sie C#-Typen für die Deserialisierung. Ein Beispiel-Response hier einzufügen liefert POCOs für JsonSerializer.Deserialize<T>() oder Newtonsoft.Json. Für API-Tests sind Postman und jq nützlich.
Häufig gestellte Fragen
Properties vs. Felder?
Properties verwenden get; und set;. System.Text.Json und Newtonsoft.Json serialisieren standardmäßig Properties. Felder funktionieren, sind aber für DTOs weniger üblich.
Was ist mit Nullable Reference Types?
Aktivieren Sie Nullable Types in der Konfiguration für string? usw. Nützlich für optionale JSON-Felder. Erfordert Nullable-Kontext in Ihrem Projekt.
Werden meine Daten irgendwohin gesendet?
Nein. Die Generierung läuft in Ihrem Browser.
Kann ich dies mit System.Text.Json nutzen?
Ja. Die generierten Klassen funktionieren mit JsonSerializer.Deserialize<T>(). Fügen Sie using System.Text.Json.Serialization; hinzu, wenn Sie benutzerdefinierte Attribute brauchen.
Was, wenn meine JSON-Schlüssel nicht zur C#-Namenskonvention passen?
Verwenden Sie [JsonPropertyName("json_key")] auf der Property oder konfigurieren Sie JsonSerializerOptions.PropertyNamingPolicy auf camelCase.
Verwandte Tools
System.Text.Json. Newtonsoft.Json. JSON-Spezifikation. RFC 8259. MDN. .NET. Postman.