JSON à C#

Générez C# classes ou enregistrements à partir de JSON avec Newtonsoft ou System.Text.Json.

Générateur de classe JSON à C# en ligne gratuit

Collez JSON et obtenez les définitions de classe C# avec les types déduits, les classes imbriquées et List<T> pour les tableaux. Choisissez POCO classes ou C# 9+ enregistrements, PascalCase noms de propriété et Newtonsoft.Json ou System.Text.Json attributs de sérialisation.

Définissez un nom de classe racine et un espace de noms facultatif, puis copiez le code généré dans votre projet .NET. Toutes les conversions s'exécutent dans votre navigateur - rien n'est téléchargé.

Frequently Asked Questions

What is the difference between POCO and record?
POCO (Plain Old CLR Object) classes are mutable reference types with get/set properties - the traditional C# approach. Records (C# 9+) are immutable by default with value-based equality. Use records for DTOs and API models; POCOs when you need mutable objects.
Which JSON library attributes are supported?
Dokall supports Newtonsoft.Json (JsonProperty attributes) and System.Text.Json (JsonPropertyName attributes). Choose based on your project's JSON serializer. System.Text.Json is the modern default in .NET Core 3+.
How are C# property names generated?
Property names use PascalCase by default, following C# conventions. JSON camelCase keys are converted: firstName becomes FirstName. You can set a namespace and root class name before generating.
How are arrays and nested objects handled?
JSON arrays become List<T> with the element type inferred. Nested objects become separate nested classes. Deep nesting produces nested class definitions within the root class.
Can I use this for Entity Framework models?
The generated classes work as DTOs and API models. Entity Framework entities typically need additional attributes (Key, Required, navigation properties) that are not inferred from JSON. Use the output as a starting point and add EF-specific annotations manually.