UTILS.
100 % dans le navigateur
💠

JSON vers classes C#

Générez des classes de modèle C# à partir d'un exemple JSON pour System.Text.Json ou Newtonsoft.Json, avec des propriétés PascalCase et des types valeur nullables.

sortie

À propos de cet outil

L'outil JSON vers classes C# convertit un exemple JSON collé en classes ou records de modèle C#, pour que les développeurs .NET puissent créer des DTO à partir d'une réponse d'API en quelques secondes. Il analyse le JSON, infère les types C# récursivement et émet un type par objet : les chaînes deviennent string, les chaînes de date-heure ISO DateTime, les entiers int ou long, les autres nombres double, les booléens bool, les tableaux List<T>, et les objets imbriqués leurs propres classes PascalCase déclarées avant les parents qui les référencent.

Toute l'analyse et la génération de code se déroulent localement dans votre navigateur avec JSON.parse et du JavaScript standard — rien n'est téléversé. Les propriétés sont émises en tant qu'auto-propriétés PascalCase, public T Prop { get; set; }. Quand la clé JSON diffère du nom de propriété PascalCase, l'outil ajoute [JsonPropertyName("originalKey")] pour System.Text.Json ou [JsonProperty("originalKey")] pour Newtonsoft, et seules les directives using requises sont incluses.

Les propriétés de type valeur pouvant être null dans un échantillon sont rendues nullables (int?, double?, bool?, DateTime?), tandis que les types référence comme string et List sont déjà nullables. La bascule de sérialiseur permute le style d'attribut et de using entre System.Text.Json (par défaut) et Newtonsoft.Json ; la bascule de forme émet soit des classes (par défaut) soit des records. Copiez le code ou téléchargez-le en fichier .cs.

Foire aux questions

Comment les types JSON sont-ils mappés vers C# ?
string vers string, une date-heure ISO vers DateTime, entier vers int (long au-delà de la plage int), nombre non entier vers double, booléen vers bool, tableau vers List<T>, et objet vers une classe ou un record nommé. Les types valeur nullables reçoivent le modificateur ? à la fin.
System.Text.Json ou Newtonsoft ?
La bascule de sérialiseur choisit l'un ou l'autre. Elle contrôle l'attribut utilisé quand un nom de propriété diffère de la clé JSON — [JsonPropertyName("key")] pour System.Text.Json ou [JsonProperty("key")] pour Newtonsoft — et la directive using correspondante.
Puis-je générer des records au lieu de classes ?
Oui. La bascule de forme permute entre public class (par défaut) et public record, en conservant les mêmes auto-propriétés PascalCase et attributs JSON pour que vous puissiez choisir le style que votre base de code préfère.
Le JSON est-il traité de façon privée ?
Oui. Tout s'exécute dans votre navigateur avec JSON.parse et du JavaScript standard ; l'échantillon n'est jamais téléversé, il est donc sûr de coller de vraies charges utiles d'API.

Plus d'outils