Dans cet article
Pourquoi générer des classes C# à partir de JSON ?
Lorsque vous travaillez avec des API REST en .NET ou Unity, vous avez besoin de classes C# fortement typées pour désérialiser les réponses JSON. Écrire ces classes manuellement est fastidieux et sujet aux erreurs, surtout pour des payloads API profondément imbriqués. Un générateur JSON vers C# analyse la structure JSON et produit automatiquement des définitions de classes prêtes à l'emploi.
C'est particulièrement précieux lors du prototypage rapide. Vous collez un exemple de réponse API, obtenez des classes C# parfaitement structurées et commencez immédiatement à travailler avec des données typées plutôt que de lutter avec des objets dynamiques.
Modes de sortie et options de sérialisation
Le générateur prend en charge plusieurs formats de sortie pour correspondre au style de codage et à la version .NET de votre projet. Chaque mode produit du C# idiomatique qui compile sans modification.
- Classe vs Record — classes mutables traditionnelles pour les anciens projets .NET, ou records C# 9+ pour des objets de transfert de données immuables avec égalité de valeur intégrée
- System.Text.Json — le sérialiseur moderne et haute performance intégré à .NET Core 3.1+ qui utilise les attributs [JsonPropertyName]
- Newtonsoft.Json — la bibliothèque Json.NET largement utilisée avec les attributs [JsonProperty], encore dominante dans le .NET Framework hérité et les projets Unity
Essayez gratuitement — sans inscription
Convertir JSON en C# →Conventions de nommage C# et annotations
Le C# suit des conventions de nommage strictes qui diffèrent du camelCase ou snake_case typique du JSON. Le générateur applique automatiquement ces transformations tout en préservant les noms de propriétés JSON originaux via les attributs de sérialisation.
- Propriétés PascalCase — tous les noms de propriétés générés sont convertis en PascalCase (par exemple, user_name devient UserName) conformément aux directives de nommage .NET de Microsoft
- Modèles d'annotation — chaque propriété inclut l'attribut de sérialisation approprié ([JsonPropertyName] ou [JsonProperty]) qui mappe la propriété PascalCase vers le nom de clé JSON original
- Inférence de type — le générateur déduit les types C# à partir des valeurs JSON : les chaînes deviennent string, les nombres deviennent int ou double, les booléens deviennent bool
Questions fréquemment posées
Comment le générateur gère-t-il les types référence nullables ?
Lorsqu'une valeur JSON est null, le générateur produit un type référence nullable (string? au lieu de string). Cela suit les conventions de types référence nullables de C# 8+ et vous aide à détecter les exceptions de référence null à la compilation.
Dois-je utiliser List<T> ou des tableaux pour les tableaux JSON ?
Le générateur utilise List<T> par défaut car il offre des fonctionnalités plus riches (Add, Remove, Contains) et est le type de collection le plus courant dans les bases de code C#. Vous pouvez changer manuellement le type généré si nécessaire.
Puis-je générer des records au lieu de classes ?
Oui. Le mode record génère des types record C# 9+ avec des propriétés init-only. Les records sont idéaux pour les objets de transfert de données car ils fournissent l'immuabilité, l'égalité basée sur les valeurs et une syntaxe concise.