JSON zu C# Class

Konvertiert JSON-Daten in C#-Klassen mit PascalCase-Eigenschaften, JsonPropertyName-Attributen und verschachtelter Typ-Inferenz

Wichtige Fakten

Kategorie
Entwicklung & Web
Eingabetypen
textarea, text, checkbox
Ausgabetyp
text
Sample-Abdeckung
4
API verfügbar
Yes

Überblick

Der JSON zu C# Class Konverter wandelt Ihre JSON-Daten schnell in stark typisierte C#-Klassen um. Das Tool generiert automatisch PascalCase-Eigenschaften, fügt passende JsonPropertyName-Attribute für die korrekte Deserialisierung hinzu und löst verschachtelte Objekte sowie Arrays in separate Unterklassen auf.

Wann verwenden

  • Wenn Sie eine API-Antwort im JSON-Format erhalten und schnell die passenden Datenmodelle für Ihre .NET-Anwendung erstellen müssen.
  • Wenn Sie manuelle Tippfehler bei der Definition von C#-Klassenstrukturen und deren Serialisierungsattributen vermeiden möchten.
  • Wenn Sie komplexe, tief verschachtelte JSON-Objekte in saubere, modular strukturierte C#-Klassen überführen wollen.

So funktioniert es

  • Fügen Sie Ihre JSON-Daten in das Eingabefeld für die JSON-Eingabe ein.
  • Legen Sie optional den Namen des Wurzeltyps fest und aktivieren Sie bei Bedarf die Option für Nullable-Eigenschaften.
  • Das Tool analysiert die JSON-Struktur, leitet die passenden Datentypen ab und generiert die fertigen C#-Klassendefinitionen.

Anwendungsfälle

Schnelles Erstellen von Data Transfer Objects (DTOs) für REST-API-Clients in .NET.
Generierung von Konfigurationsklassen aus appsettings.json-Strukturen.
Modellierung von Testdaten-Strukturen für Unit-Tests in C#.

Beispiele

1. DTO-Generierung für Benutzerprofile

Backend-Entwickler
Hintergrund
Ein Entwickler integriert eine externe Benutzer-API, die Profildaten im JSON-Format liefert.
Problem
Die manuelle Erstellung der C#-Klassen für die API-Antwort ist zeitaufwendig und fehleranfällig.
Verwendung
Der Entwickler fügt das JSON-Profil in das Tool ein, setzt den Namen des Wurzeltyps auf 'UserProfile' und aktiviert Nullable-Eigenschaften.
Beispielkonfiguration
Eingabe-JSON: {"user_id": 101, "display_name": "Max", "email": null}. Optionen: rootName='UserProfile', optionalFields=true.
Ergebnis
Es wird eine C#-Klasse 'UserProfile' mit Nullable-Typen und passenden JsonPropertyName-Attributen wie [JsonPropertyName("user_id")] generiert.

2. Modellierung verschachtelter API-Antworten

Software-Architekt
Hintergrund
Für ein neues Feature muss eine komplexe JSON-Struktur mit verschachtelten Adress- und Rollen-Arrays in C# abgebildet werden.
Problem
Die manuelle Aufteilung der verschachtelten JSON-Objekte in einzelne Klassen führt oft zu Fehlern bei der Typzuordnung.
Verwendung
Die verschachtelte JSON-Struktur wird eingefügt und der Wurzeltyp als 'AccountData' definiert.
Beispielkonfiguration
Eingabe-JSON: {"account_id": "A1", "details": {"city": "Berlin"}, "roles": ["Admin"]}. Optionen: rootName='AccountData', optionalFields=false.
Ergebnis
Das Tool generiert die Hauptklasse 'AccountData' sowie eine separate Klasse 'Details' für das verschachtelte Objekt mit korrekten Typen.

Mit Samples testen

json

Verwandte Hubs

FAQ

Unterstützt das Tool verschachtelte JSON-Objekte?

Ja, verschachtelte Objekte werden automatisch erkannt und als separate, referenzierte C#-Klassen generiert.

Was bewirkt die Option für Nullable-Eigenschaften?

Sie deklariert die generierten C#-Eigenschaften als Nullable (z. B. string?), um Laufzeitfehler bei fehlenden JSON-Werten zu verhindern.

Werden die JSON-Schlüsselnamen für C# angepasst?

Ja, die Klasseneigenschaften werden in PascalCase formatiert, während das ursprüngliche JSON-Format über das JsonPropertyName-Attribut beibehalten wird.

Wie werden JSON-Arrays übersetzt?

Arrays werden in C#-Listen (List<T>) oder Arrays des entsprechenden Typs übersetzt.

Benötige ich externe Bibliotheken für den generierten Code?

Nein, der Code nutzt standardmäßige System.Text.Json.Serialization-Attribute, die direkt in modernen .NET-Versionen enthalten sind.

API-Dokumentation

Request-Endpunkt

POST /de/api/tools/json-to-csharp

Request-Parameter

Parameter-Name Typ Erforderlich Beschreibung
jsonInput textarea Ja -
rootName text Nein -
optionalFields checkbox Nein -

Antwortformat

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
Text: Text

MCP-Dokumentation

Fügen Sie dieses Tool zu Ihrer MCP-Server-Konfiguration hinzu:

{
  "mcpServers": {
    "elysiatools-json-to-csharp": {
      "name": "json-to-csharp",
      "description": "Konvertiert JSON-Daten in C#-Klassen mit PascalCase-Eigenschaften, JsonPropertyName-Attributen und verschachtelter Typ-Inferenz",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=json-to-csharp",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Sie können mehrere Tools verketten, z.B.: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, maximal 20 Tools.

Wenn Sie auf Probleme stoßen, kontaktieren Sie uns bitte bei [email protected]