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

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

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.

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

json

Hubs 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>.

Documentation de l'API

Point de terminaison de la requête

POST /fr/api/tools/json-to-csharp

Paramètres de la requête

Nom du paramètre Type Requis Description
jsonInput textarea Oui -
rootName text Non -
optionalFields checkbox Non -

Format de réponse

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
Texte: Texte

Documentation de MCP

Ajoutez cet outil à votre configuration de serveur MCP:

{
  "mcpServers": {
    "elysiatools-json-to-csharp": {
      "name": "json-to-csharp",
      "description": "Convertit des données JSON en classes C# avec propriétés PascalCase, attributs JsonPropertyName et inférence de types imbriqués",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=json-to-csharp",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Vous pouvez chaîner plusieurs outils, par ex.: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, max 20 outils.

Si vous rencontrez des problèmes, veuillez nous contacter à [email protected]