JSON vers C#
Convertir JSON en classes C# et objets POCO pour le développement .NET
Entrée JSON
Sortie C#
Qu'est-ce que JSON vers C# ?
C# utilise des classes et des propriétés pour représenter les données. Lorsque vous consommez du JSON provenant d'une API ou d'une configuration, vous avez besoin de types C# correspondants pour la désérialisation. Cet outil génère des classes C# (POCOs) à partir de votre JSON. Collez un exemple de JSON et obtenez des définitions de classes avec les types de propriétés appropriés. Utilisez-les avec System.Text.Json ou Newtonsoft.Json.
La conversion s'exécute dans votre navigateur. Utilisez les options de configuration pour définir le nom de la classe, choisir les propriétés ou les champs, et activer les types nullable. Rien n'est envoyé à un serveur.
Comment utiliser cet outil
Coller le JSON
Collez votre JSON dans l'éditeur de gauche ou importez un fichier. Utilisez Exemple pour des données d'exemple. Définissez le nom de la classe racine et les options (Propriétés, Nullable) dans le panneau de configuration.
Vérifier les classes
Le panneau de droite affiche les classes C# générées. Les objets imbriqués deviennent des classes séparées. Les tableaux deviennent List<T> ou T[]. Ajoutez des attributs [JsonPropertyName] si nécessaire pour des noms de clés JSON différents.
Copier ou télécharger
Utilisez <strong>Copier</strong> ou <strong>Télécharger</strong> pour obtenir le code. Collez-le dans votre projet .NET. Pour formater le JSON d'abord, utilisez le Formatage JSON. Pour la validation, utilisez le Validateur JSON.
Exemples JSON vers C#
Voici un exemple de génération de classes C# à partir d'un objet JSON.
Exemple : enregistrement abonné
Entrée JSON :
Sortie C# générée :
Quand JSON vers C# aide
Lors de l'intégration d'API REST dans .NET, ASP.NET Core ou Blazor, vous avez besoin de types C# pour la désérialisation. Coller une réponse d'exemple ici vous donne des POCOs utilisables avec JsonSerializer.Deserialize<T>() ou Newtonsoft.Json. Pour les tests d'API, Postman et jq sont utiles.
Questions fréquentes
Propriétés ou champs ?
Les propriétés utilisent get; et set;. System.Text.Json et Newtonsoft.Json sérialisent les propriétés par défaut. Les champs fonctionnent mais sont moins courants pour les DTOs.
Qu'en est-il des types de référence nullable ?
Activez Nullable Types dans la configuration pour obtenir string? etc. Utile pour les champs JSON optionnels. Nécessite un contexte nullable dans votre projet.
Mes données sont-elles envoyées quelque part ?
Non. La génération s'exécute dans votre navigateur.
Puis-je utiliser cela avec System.Text.Json ?
Oui. Les classes générées fonctionnent avec JsonSerializer.Deserialize<T>(). Ajoutez using System.Text.Json.Serialization; si vous avez besoin d'attributs personnalisés.
Et si mes clés JSON ne correspondent pas à la nomenclature C# ?
Utilisez [JsonPropertyName("json_key")] sur la propriété, ou configurez JsonSerializerOptions.PropertyNamingPolicy sur camelCase.
Outils connexes
System.Text.Json. Newtonsoft.Json. Spécification JSON. RFC 8259. MDN. .NET. Postman.