# JSON vers C# Class

Convertit des données JSON en classes C# avec propriétés PascalCase, attributs JsonPropertyName et inférence de types imbriqués

> Page canonique: https://elysiatools.com/fr/tools/json-to-csharp

- **Catégorie:** Development

- **Mots-clés:** json, csharp, c#, dotnet, class, convertir

## Présentation

Cet outil en ligne convertit instantanément vos données JSON en classes C# fortement typées. Il génère automatiquement des propriétés au format PascalCase, applique les attributs JsonPropertyName pour la sérialisation System.Text.Json et prend en charge l'inférence des types imbriqués ainsi que les propriétés nullables.

## Entrées

- **Entrée JSON** (textarea): { "name": "Alice", "age": 30, "roles": \["admin", "user"\], "address": { "city": "Shanghai", "zip": "200000" } }
- **Nom du type racine** (text): Root
- **Propétés nullables** (checkbox)

## Quand l'utiliser

- Lors de l'intégration d'une API REST externe dont vous devez consommer les réponses JSON dans une application .NET.
- Pendant la phase de conception pour créer rapidement des modèles de données C# basés sur des fichiers de configuration JSON.
- Pour générer des DTO (Data Transfer Objects) propres et structurés sans avoir à écrire manuellement chaque classe et propriété.

## Fonctionnement

- Collez votre payload ou structure JSON dans la zone de saisie principale.
- Configurez le nom de la classe racine et choisissez si vous souhaitez rendre les propriétés nullables.
- Copiez le code C# généré contenant les classes imbriquées et les attributs de sérialisation prêts à l'emploi.

## Cas d'usage

- Création rapide de modèles de données pour consommer des API tierces dans ASP.NET Core.
- Modélisation de fichiers de configuration JSON complexes en classes de configuration C# fortement typées.
- Refactoring de code en convertissant des structures JSON brutes en DTO modernes et documentés.

## Questions fréquentes

### Comment l'outil gère-t-il les objets imbriqués dans le JSON ?

Il crée automatiquement des classes C# distinctes pour chaque objet imbriqué et les référence comme propriétés dans la classe parente.

### Les noms de propriétés sont-ils convertis en PascalCase ?

Oui, l'outil convertit les clés JSON en PascalCase pour respecter les conventions C#, tout en conservant le nom d'origine via l'attribut JsonPropertyName.

### Puis-je générer des types nullables ?

Oui, en activant l'option des propriétés nullables, les types de valeur et de référence seront générés avec le suffixe de nullabilité C#.

### Quel espace de noms est utilisé pour les attributs de propriété ?

L'outil utilise les attributs JsonPropertyName issus de System.Text.Json.Serialization.

### L'outil prend-il en charge les tableaux JSON ?

Oui, les tableaux JSON sont convertis en listes génériques C# de type List.

## Outils associés

- [Générateur de Data URI](https://elysiatools.com/fr/tools/data-uri-generator): Convertit les fichiers en Data URI (Base64 ou pourcentage-encodé) pour intégrer images, polices et ressources directement dans HTML, CSS ou Markdown
- [Convertisseur JSON Schema vers Zod](https://elysiatools.com/fr/tools/json-schema-to-zod-schema-converter): Convertit des definitions JSON/YAML de JSON Schema en code Zod pret a lemploi dans les projets TypeScript, avec objets imbriques, tableaux, enums et regles de validation courantes
- [JSON vers Go Struct](https://elysiatools.com/fr/tools/json-to-go): Convertit des données JSON en définitions de struct Go avec balises json, champs PascalCase exportés et inférence de types imbriqués
- [JSON vers Java Class](https://elysiatools.com/fr/tools/json-to-java): Convertit des données JSON en classes Java avec annotations Jackson @JsonProperty, champs privés, getters et setters
- [JSON vers Kotlin Data Class](https://elysiatools.com/fr/tools/json-to-kotlin): Convertit des données JSON en data classes Kotlin avec annotations @SerializedName, gestion des nullables et inférence de types imbriqués
- [JSON vers Rust Struct](https://elysiatools.com/fr/tools/json-to-rust): Convertit des données JSON en structs Rust avec derives serde Serialize/Deserialize, champs snake_case et attributs serde rename
- [JSON vers TypeScript](https://elysiatools.com/fr/tools/json-to-typescript): Convertit des données JSON en interfaces TypeScript ou alias de type, avec types union, champs facultatifs et inférence d'objets imbriqués
- [Convertisseur de logs en diagrammes de sequence](https://elysiatools.com/fr/tools/log-sequence-diagram-converter): Convertit des logs de services structures en diagrammes Mermaid ou PlantUML avec annotations de latence et derreur

## Exemples

- [Exemples JSON de Terraform Plan](https://elysiatools.com/fr/samples/terraform-plan-json-samples): Fichiers Terraform plan JSON pour visualiser les dependances et revoir les changements, proches de terraform show -json
- [Exemples JSON de Chat](https://elysiatools.com/fr/samples/chat-transcript-json): Exemples JSON pour transcriptions de chat multi-rôles
- [Exemples JSON](https://elysiatools.com/fr/samples/json): Exemples de format JSON (JavaScript Object Notation) de structures simples à complexes
- [Exemples JSON de Texte Riche](https://elysiatools.com/fr/samples/rich-media-json): Exemples JSON pour éditeurs de texte riche (TipTap, Quill, Slate)

## Contenu associé

- [Generateurs JSON vers code type](https://elysiatools.com/fr/hubs/json-to-typed-code-generators): Generez des modeles types depuis JSON ou schema pour TypeScript, Go, Rust, Kotlin, Java, C# et la validation Zod.
