Omnikit
DevFichiersFinancesTous les outils
Ctrl K
Outils pour développeursOutils pour fichiersCalculateurs financiersTous les outils
AccueilOutils pour développeursConvertisseur JSON en classes C#
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Convertisseur JSON en classes C#

dev

Transformez un échantillon JSON en classes ou records C# pour System.Text.Json ou Newtonsoft.Json

Fonctionne dans votre navigateur. Rien de ce que vous saisissez n'est envoyé nulle part. Vérifié le 16 octobre 2026.

Collez un échantillon JSON et obtenez des classes ou des records C# avec des propriétés en PascalCase et la clé JSON dans un attribut JsonPropertyName ou JsonProperty. Les nombres entiers deviennent int, long au-delà de 2 147 483 647, la moindre décimale rend un champ double, et une valeur null ou absente devient nullable, comme int?.

Cette page a été traduite automatiquement à partir de l'original anglais. Aucune personne n’a encore relu la traduction : c’est la version anglaise qui fait foi. Lire l'original en anglais

Ensuite :
  • JSON vers TypeScript Générez des interfaces ou des types TypeScript à partir d'un exemple JSON
  • Formateur et validateur JSON Formatez, validez, minifiez et triez du JSON avec la position exacte des erreurs

Comment convertir du JSON en classe C#

1

Collez un échantillon JSON, par exemple une réponse d'API, dans la zone de gauche.

2

Les classes C# apparaissent pendant la saisie, une par objet, avec des propriétés en PascalCase et la clé JSON dans un attribut sur chacune.

3

Choisissez System.Text.Json ou Newtonsoft.Json, et les records avec init si vous préférez des modèles immuables.

4

Cliquez sur Copier, ou sur Télécharger pour enregistrer Models.cs, puis désérialisez dans la classe racine.

À propos du Convertisseur JSON en classes C#

C# lit le JSON dans des classes typées, et chaque propriété a besoin du bon type et d'un moyen de retrouver sa clé. Ce convertisseur écrit ces classes à partir d'un échantillon : une longue réponse d'API devient un modèle qui compile en un seul collage.

Comment les types sont choisis.

Valeur JSON Type C#
"text" string
true / false bool
42 (nombres entiers uniquement) int, ou long au-delà de 32 bits
4.5 (au moins une décimale vue) double
null, plus un type int?, string?
null seul, ou types mélangés object?
[ ... ] List<...>
{ } vide Dictionary<string, object>
{ ... } une classe à part

Clés et noms. Les propriétés sont en PascalCase : user_name devient UserName et avatar_url AvatarUrl. Chaque propriété porte sa clé d'origine dans un attribut, car System.Text.Json compare les noms en tenant compte de la casse sauf indication contraire ; Newtonsoft reçoit [JsonProperty] à la place. Une propriété qui porterait le nom de sa classe, ce que le compilateur refuse avec CS0542, reçoit Value en suffixe.

Tableaux d'objets. Tous les objets d'un tableau sont fusionnés en une seule classe : une clé présente dans certains seulement reste là, rendue nullable pour que son absence se lise comme null et non comme 0 ou false. Deux objets ayant exactement les mêmes clés et types partagent une classe.

Options. Les records avec init donnent des modèles immuables comparés par valeur. La classe racine s'appelle Root sauf si vous la nommez. Quand le JSON lui-même est un tableau ou une valeur isolée, un commentaire indique le type dans lequel désérialiser, comme List.

Chaque résultat a été vérifié en relisant le C# et en y confrontant 9 échantillons selon les règles des sérialiseurs. Rien de ce que vous collez ne quitte le navigateur.

Questions fréquentes

Comment convertir du JSON en classe C# ?

Collez un échantillon JSON dans le convertisseur et les classes C# apparaissent à côté, une par objet, avec un attribut JsonPropertyName sur chaque propriété. Copiez-les dans votre projet et lisez le JSON avec JsonSerializer.Deserialize<Root>(json), ou JsonConvert.DeserializeObject<Root>(json) si Newtonsoft est choisi.

Pourquoi chaque propriété a-t-elle un attribut JsonPropertyName ?

Par défaut, System.Text.Json compare les noms de propriété en tenant compte de la casse : une propriété nommée UserName ne recevrait jamais la clé user_name. L'attribut indique la clé exacte, ce qui garde les noms C# en PascalCase tout en lisant le JSON sans option de sérialiseur ni politique de nommage.

Quand une propriété est-elle nullable, comme int? ou string? ?

Une propriété est nullable quand l'échantillon montre null pour elle, ou quand certains objets d'un tableau omettent sa clé. Sans le point d'interrogation, un nombre absent serait lu en silence comme 0 et un indicateur absent comme false : le type nullable distingue donc l'absence du zéro.

Faut-il utiliser des classes ou des records ?

Les records avec accesseurs init conviennent aux modèles que vous lisez seulement, car leurs propriétés ne peuvent plus changer après la désérialisation et deux records de mêmes valeurs sont égaux. Les classes avec set conviennent aux modèles que vous remplissez ou modifiez. Les deux fonctionnent avec System.Text.Json depuis .NET 5 et avec Newtonsoft.Json.

Quels types reçoivent les nombres en C# ?

Les nombres entiers deviennent int, ou long quand une valeur dépasse 2 147 483 647, et un champ devient double dès qu'une valeur de l'échantillon a une partie décimale. Les valeurs de natures différentes, comme un nombre dans un élément et du texte dans un autre, deviennent object?, qui garde la valeur JSON brute.

Mon JSON est-il envoyé ?

Non. La conversion s'exécute dans votre navigateur sans aucune requête vers un serveur, et le JSON n'est pas conservé : les réponses d'API contenant des jetons ou des données personnelles restent sur votre appareil. Fermez l'onglet et il ne reste rien.

Sources

  • Microsoft Learn, System.Text.Json: customize property namesJsonPropertyName, and case-sensitive matching by default
  • Newtonsoft.Json documentation, JsonPropertyAttribute nameJsonProperty("key") on a property
  • Microsoft Learn, .NET naming guidelinesPascalCase types and properties
  • Microsoft Learn, compiler error CS0542A member cannot have the same name as its enclosing type

Dernière vérification le 16 octobre 2026.

Les taux et les règles changent ; vérifiez la source avant de vous fier à un chiffre.

Toujours bloqué ? Poser une question sur Convertisseur JSON en classes C# et toute personne qui connaît la réponse peut répondre. Aucun compte nécessaire.

Outils associés

Tous les outils pour développeurs
Encoder et décoder en Base64Texte et fichiers vers Base64 et retour, avec mode sûr pour les URL et aperçu des imagesConvertisseur de timestamp UnixDes timestamps Unix vers des dates et des dates vers des timestamps, dans tout fuseau horaireJSON vers TypeScriptGénérez des interfaces ou des types TypeScript à partir d'un exemple JSONConvertisseur CSV en JSONConvertissez CSV en JSON et JSON en CSV, avec un aperçu en tableauConvertisseur YAML en JSONConvertissez YAML en JSON et JSON en YAML, avec les ancres résoluesEncodeur et décodeur d'URLEncodez ou décodez textes et URL en encodage pourcent, et voyez chaque partie d'un lienConvertisseur de bases numériquesBinaire, octal, décimal, hexadécimal et toute base jusqu'à 36, exact quelle que soit la taille, avec complément à deuxColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
Cet outil vous a-t-il été utile ?
Omnikit

Les petites tâches, faites dans votre navigateur. Gratuit, rapide et privé. Les fichiers ne sont jamais envoyés.

Fichiers

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Dev

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Finances

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
GuidesQuestionsÀ proposNos vérificationsBibliothèque juridique (bêta)ConfidentialitéConditionsTransparenceContactMore: Exam practice (UGC NET Paper 1)Fonctionne dans votre navigateur. Rien n'est envoyé. © 2026 Omnikit (theomnikit.com)