DT Dev Tools

Convertir JSON en C# — Générateur de classes

Convertissez du JSON en classes C# en ligne : modèles avec attributs System.Text.Json ou Newtonsoft.Json, types nullables et List<T>. Gratuit et privé.

🔒 S'exécute entièrement dans votre navigateur — rien n'est envoyé

Publicité

Transformer du JSON en classes modèles C#

Ce convertisseur JSON vers C# lit un exemple de JSON et génère des classes C# fortement typées qui en reproduisent la structure. Chaque objet devient une public partial class, chaque propriété reçoit un nom en PascalCase accompagné d'un attribut de sérialisation qui la relie à la clé JSON d'origine, et les objets imbriqués deviennent leurs propres classes, nommées d'après la propriété qui les contient. Les tableaux deviennent List<T> ou T[], les dates ISO deviennent DateTimeOffset, et les valeurs parfois absentes ou null sont générées en types nullables : votre code compile ainsi face à de vraies charges utiles, et non face à une version idéalisée.

En coulisses, l'outil s'appuie sur quicktype, un moteur d'inférence de types éprouvé qui fusionne tous les éléments d'un tableau avant de choisir un type. Une liste de commandes dont seules certaines contiennent un coupon produit donc une seule classe Order avec une propriété Coupon optionnelle, plutôt qu'une classe adaptée uniquement au premier élément.

System.Text.Json ou Newtonsoft

Les projets .NET modernes reposent généralement sur System.Text.Json, choisi par défaut ici : les propriétés sont décorées avec [JsonPropertyName], et la sortie inclut une fabrique FromJson, une méthode d'extension ToJson et des paramètres de convertisseur pour les dates ISO. Si votre code utilise encore Json.NET, passez le sérialiseur sur Newtonsoft pour obtenir des attributs [JsonProperty] avec les mêmes utilitaires, construits cette fois sur JsonConvert. Choisissez Classes only si vous voulez seulement les POCO à coller dans un dossier de DTO existant, et définissez l'espace de noms pour que le fichier s'intègre directement à votre solution.

Conseils pour des types C# précis

Collez l'exemple le plus riche possible : avec des champs optionnels, des tableaux vides et remplis, et plus d'un élément par tableau, afin que l'inférence voie quelles propriétés sont toujours présentes. Renommez la classe racine de Root en un nom parlant comme OrderResponse avant le téléchargement : le nom du fichier en découle. Après avoir collé le code dans Visual Studio ou Rider, vérifiez les types que l'exemple ne peut pas révéler : un identifiant entier susceptible de dépasser long, une chaîne qui est en réalité une énumération, ou des montants qui méritent un decimal. Tout s'exécute en local, vous pouvez donc utiliser sans risque des réponses de production.

Comment utiliser

  1. Collez le JSONCollez un objet ou un tableau JSON, ou cliquez sur Load sample pour essayer l'outil.
  2. Réglez les optionsChoisissez le nom de la classe racine, l'espace de noms, le sérialiseur et le type de collection.
  3. Copiez les classesCopiez le C# généré ou téléchargez-le en fichier .cs pour votre projet.

Questions fréquemment posées

System.Text.Json et Newtonsoft.Json sont-ils pris en charge ?
Oui. Choisissez le sérialiseur, et le générateur produit les attributs [JsonPropertyName] ou [JsonProperty] correspondants, ainsi que les utilitaires de conversion pour cette bibliothèque.
Puis-je obtenir de simples classes sans les utilitaires de sérialisation ?
Oui. Cochez Classes only pour ne générer que les classes modèles, pratique pour des DTO, des records que vous comptez modifier ou des projets disposant de leur propre configuration JSON.
Comment les dates, les décimaux et les valeurs nulles sont-ils typés ?
Les chaînes ISO 8601 deviennent DateTimeOffset, les nombres à virgule deviennent double, et les champs absents ou nuls dans certains exemples deviennent nullables.
Mon JSON est-il envoyé quelque part ?
Non. Le moteur quicktype s'exécute entièrement dans votre navigateur : réponses d'API et secrets ne quittent jamais votre appareil.
Publicité