UTILS.
100 % im Browser
💠

JSON zu C#-Klassen

Erzeugen Sie C#-Modellklassen aus einem JSON-Beispiel für System.Text.Json oder Newtonsoft.Json, mit PascalCase-Eigenschaften und nullbaren Werttypen.

Ausgabe

Über dieses Tool

Das Tool JSON zu C#-Klassen konvertiert ein eingefügtes JSON-Beispiel in C#-Modellklassen oder -Records, sodass .NET-Entwickler DTOs aus einer API-Antwort in Sekunden erstellen können. Es parst das JSON, leitet C#-Typen rekursiv ab und gibt einen Typ pro Objekt aus: Strings werden zu string, ISO-Datum-Zeit-Strings zu DateTime, Ganzzahlen zu int oder long, andere Zahlen zu double, Booleans zu bool, Arrays zu List<T> und verschachtelte Objekte zu ihren eigenen PascalCase-Klassen, die vor den Eltern deklariert werden, die sie referenzieren.

Alles Parsen und die Codegenerierung erfolgen lokal in Ihrem Browser mit JSON.parse und reinem JavaScript — nichts wird hochgeladen. Eigenschaften werden als PascalCase-Auto-Properties ausgegeben, public T Prop { get; set; }. Wenn der JSON-Schlüssel vom PascalCase-Eigenschaftsnamen abweicht, fügt das Tool [JsonPropertyName("originalKey")] für System.Text.Json oder [JsonProperty("originalKey")] für Newtonsoft hinzu, und nur die erforderlichen using-Direktiven werden eingebunden.

Werttyp-Eigenschaften, die in einem Beispiel null sein können, werden nullbar gemacht (int?, double?, bool?, DateTime?), während Referenztypen wie string und List bereits nullbar sind. Der Serializer-Umschalter wechselt Attribut- und using-Stil zwischen System.Text.Json (Standard) und Newtonsoft.Json; der Form-Umschalter gibt entweder Klassen (Standard) oder Records aus. Kopieren Sie den Code oder laden Sie ihn als .cs-Datei herunter.

Häufig gestellte Fragen

Wie werden JSON-Typen auf C# abgebildet?
string zu string, ein ISO-Datum-Zeit zu DateTime, Ganzzahl zu int (long jenseits des int-Bereichs), Nicht-Ganzzahl zu double, Boolean zu bool, Array zu List<T> und Objekt zu einer benannten Klasse oder einem Record. Nullbare Werttypen erhalten den nachgestellten ?-Modifikator.
System.Text.Json oder Newtonsoft?
Der Serializer-Umschalter wählt eines von beiden. Er steuert das verwendete Attribut, wenn ein Eigenschaftsname vom JSON-Schlüssel abweicht — [JsonPropertyName("key")] für System.Text.Json oder [JsonProperty("key")] für Newtonsoft — und die entsprechende using-Direktive.
Kann ich Records statt Klassen erzeugen?
Ja. Der Form-Umschalter wechselt zwischen public class (Standard) und public record und behält dieselben PascalCase-Auto-Properties und JSON-Attribute bei, sodass Sie den Stil wählen können, den Ihre Codebasis bevorzugt.
Wird das JSON privat verarbeitet?
Ja. Alles läuft in Ihrem Browser mit JSON.parse und reinem JavaScript; das Beispiel wird nie hochgeladen, sodass das Einfügen echter API-Payloads sicher ist.

Weitere Tools