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

1

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.

2

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.

3

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 :

Entrée

Sortie C# générée :

Sortie

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.