C#-zu-JSON-Konverter
Füg C#-Klassen oder -Objekte ein. Bekomm sauberes JSON zurück.
Was dieses Tool macht
Wer schon mal ein JSON-Payload per Hand passend zu einer C#-Klasse schreiben musste — für einen Test, einen API-Call oder die Doku — weiß, wie nervig das ist. Füg das C# hier ein und du bekommst gültiges JSON zurück, ohne irgendwas manuell neu zu tippen. Egal ob ein einzelner Object Initializer, eine ganze Model-Datei mit mehreren Klassen oder etwas tief Verschachteltes — das Ergebnis ist dasselbe: ein vollständiges JSON-Dokument, in dem jedes Feld erhalten bleibt.
Das ist keine reine String-Ersetzung. Der Konverter weiß, wie C# zur Laufzeit tatsächlich serialisiert: decimal-Suffixe wie 49.99m verlieren das m und werden zu JSON-Zahlen, DateTime und DateTimeOffset kommen als ISO-8601-Strings gemäß RFC 8259 raus, Guid wird zum üblichen Hex-String, Nullables mit null-Wert werden zu null, und Collections folgen dem, was System.Text.Json und Newtonsoft.Json produzieren würden — List<T> und Arrays als JSON-Arrays, Dictionary<K,V> als JSON-Objekt.
Serialisierungs-Attribute werden ebenfalls respektiert. [JsonPropertyName("x")] benennt den Key um, [JsonIgnore] wirft die Property raus. Wenn du mehrere Klassen auf einmal einfügst, taucht jede als eigener Top-Level-Eintrag im JSON auf — verschachtelte Typen werden ausgeklappt und geerbte Properties aus Basisklassen sauber mit reingezogen. Nichts verschwindet stillschweigend.
So benutzt du es
Drei Schritte. Läuft gleich, ob du fünf Zeilen oder eine komplette Model-Datei einfügst.
C# einfügen (oder das Beispiel ausprobieren)
Kipp dein C# einfach in den linken Editor. Ein Object Initializer, eine vollständige Klassendefinition, mehrere Klassen oder verschachtelte Strukturen — alles okay. Klick auf Load Sample, wenn du vorher ein realistisches Beispiel sehen willst.
Du musst den Code nicht aufräumen — lass die C#-Syntax, Access-Modifier und Attribute, wie sie sind. Einfach einfügen.
Auf Konvertieren klicken
Klick auf den grünen Convert-Button. Das Tool liest das C#, behält jede Klasse und Property und baut das JSON in einem Durchgang. Kurz läuft ein Lade-Indikator, dann bist du fertig.
JSON kopieren
Das rechte Panel füllt sich mit eingerücktem, MDN-kompatiblem JSON. Kopier es direkt in deinen API-Request, Test-Fixture, in eine Config-Datei oder in die Doku.
Wann das wirklich was bringt
API-Fixtures bauen
Du hast ein C#-Request-Model und brauchst ein JSON-Payload für Postman oder curl. Klasse einfügen, JSON abgreifen, weitermachen.
Config-Dateien anfangen
Eine Settings-Klasse mit 40 Properties wird zu einem editierbaren JSON-Template für appsettings.json oder jeden anderen Config-Store — ohne handgeschriebenes Boilerplate.
Doku synchron halten
Erzeug JSON-Beispiele für ein README, eine API-Referenz oder eine OpenAPI-Spec direkt aus deinen echten Models, damit die Doku zum Code passt.
Testdaten füllen
Mach aus Object Initializern aus deinen Unit-Tests JSON-Seed-Dateien für Integrationstests, Mock-Server oder DB-Fixtures.
Häufige Fragen
Kann ich mehrere Klassen auf einmal einfügen?
Ja — füg eine ganze Datei ein. Jede Top-Level-Klasse landet als eigener Key im JSON, verschachtelte Typen werden ausgeklappt und geerbte Properties aus Basisklassen kommen mit. Nichts fällt weg.
Werden Attribute wie [JsonPropertyName] oder [JsonIgnore] berücksichtigt?
Ja. [JsonPropertyName("x")] und [JsonProperty("x")] benennen den JSON-Key um, und [JsonIgnore] entfernt die Property aus der Ausgabe — genau das Verhalten, das du auch von System.Text.Json bekommst.
Wie geht er mit decimal, DateTime, Guid und den üblichen C#-Typen um?
Decimals (49.99m) verlieren das Suffix und werden zu JSON-Zahlen. DateTime und DateTimeOffset kommen als ISO-8601-Strings raus. Guid ist ein normaler 8-4-4-4-12-Hex-String. TimeSpan wird zu einem Dauer-String. Nullables mit null-Wert werden zu JSON null; ansonsten wird der zugrundeliegende Typ serialisiert.
Was ist mit verschachtelten Klassen, Listen und Dictionaries?
List<T>, Arrays, HashSet<T> und IEnumerable<T> werden alle zu JSON-Arrays. Dictionary<K,V> wird zu einem JSON-Objekt. Verschachtelte Object Initializer — zum Beispiel ein Address in einem Order — werden als verschachtelte JSON-Objekte ausgeklappt, und jedes Feld bleibt erhalten.
Wird mein Code gespeichert?
Dein Code geht zur Konvertierung ans Backend und wird nicht persistiert — wir loggen das Payload nicht. Wie immer bei Online-Tools: Wenn der Code wirklich sensibel ist, schau ihn dir vor dem Einfügen kurz an.
Was, wenn im C# etwas Ungewöhnliches steht — Methoden, Delegates, IntPtr?
Die werden als null ausgegeben, statt die ganze Konvertierung abzubrechen — der Rest deines Models kommt also trotzdem durch. Wenn der Code selbst Syntaxfehler hat, fix die offensichtlichen zuerst — der Parser ist tolerant, aber kein Zauberer.
Andere Tools, die du vielleicht brauchst
C# zu JSON ist nur ein Teil des Puzzles. Die folgenden Tools passen gut dazu: