Points clés
- Catégorie
- Développement et Web
- Types d’entrée
- textarea, text, checkbox
- Type de sortie
- text
- Couverture des échantillons
- 4
- API disponible
- Yes
Vue d’ensemble
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.
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é.
Comment ça marche
- •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
Exemples
1. Modélisation d'une réponse API utilisateur
Développeur Backend .NET- Contexte
- Un développeur doit intégrer un service d'authentification externe qui renvoie un profil utilisateur détaillé au format JSON.
- Problème
- Créer manuellement les classes C# pour mapper cette réponse complexe prend du temps et présente des risques d'erreurs de typage.
- Comment l’utiliser
- Collez le JSON de réponse de l'API dans le champ de saisie, nommez la classe racine 'UserProfile', puis lancez la génération.
- Configuration d’exemple
-
rootName: UserProfile, optionalFields: false - Résultat
- Obtention instantanée de la classe UserProfile et des sous-classes associées avec les attributs JsonPropertyName requis pour la désérialisation.
2. Génération de DTO pour un catalogue de produits avec champs optionnels
Architecte Logiciel- Contexte
- L'équipe doit consommer un flux de produits où certains champs comme la description ou le prix promotionnel peuvent être absents ou nuls.
- Problème
- Garantir que le code C# généré gère correctement les valeurs nulles pour éviter les NullReferenceException lors de la désérialisation.
- Comment l’utiliser
- Saisissez le JSON du produit, nommez la classe racine 'ProductDto' et cochez l'option 'Propriétés nullables'.
- Configuration d’exemple
-
rootName: ProductDto, optionalFields: true - Résultat
- Génération de classes C# où les types comme string, int et les objets imbriqués sont déclarés comme nullables (ex: string?, int?).
Tester avec des échantillons
jsonHubs associés
FAQ
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<T>.