Was es macht
Fügen Sie ein JSON-Dokument ein (eine API-Antwort, eine Konfigurationsdatei, einen Webhook-Payload) und erhalten Sie C#-Typen, die Sie direkt in ein .NET-Projekt übernehmen können. Die Ausgabe aktualisiert sich während der Eingabe.
Warum besser als „Paste JSON as Classes“
- Berücksichtigt jedes Array-Element, nicht nur das erste. Eine Eigenschaft, die in manchen Elementen fehlt oder
nullist, wird nullable (int?,string?), und eine Zahl, die in einem Element1und in einem anderen2.5ist, wird zudouble. - Echte Typableitung:
intoderlong, wenn ein Wert nicht passt;doubleoderdecimalfür Bruchzahlen;bool;Guid;DateTimeOffsetfür Zeitstempel mit Offset oderZ,DateTimeohne,DateOnlyfür reine Datumsangaben. Gemischte Werte werden zuJsonElement. - Identische Strukturen werden einmal erzeugt.
shippingAddressundbillingAddressmit denselben Eigenschaften teilen sich einenAddress-Typ. - Objekte mit IDs als Schlüssel (
{"1": {...}, "2": {...}}) werden zuDictionary<string, T>. - Immer gültige Bezeichner: Aus
user_idwirdUserId, Namen mit führender Ziffer erhalten ein_-Präfix, C#-Schlüsselwörter werden mit@maskiert und Kollisionen mit dem Klassennamen oder anderen Eigenschaften umbenannt. - System.Text.Json-Attribute nur wo nötig. „Web-Standard“ setzt ASP.NET Core /
JsonSerializerOptions.Web(camelCase) voraus; „exakt abweichend“ deckt auch den standardmäßigen, Groß-/Kleinschreibung beachtendenJsonSerializerab. - Modernes C#: Records mit
initoder Klassen mitset, Nullable-Verweistypen mit sicheren Initialisierern, optionalerequired-Member, dateibezogener Namespace.
So verwenden Sie es
Fügen Sie JSON ein oder ziehen Sie eine .json-Datei hierher, legen Sie den Namen des Stammtyps und den Namespace fest und kopieren oder laden Sie dann die .cs-Datei herunter. Die Statuszeile zeigt den passenden JsonSerializer.Deserialize<T>-Aufruf.
Datenschutz
Die Umwandlung läuft vollständig in Ihrem Browser. Ihr JSON wird nie hochgeladen; die letzte Eingabe bleibt im lokalen Speicher.