DocumentsImagesMédiasOutils PDF

JSON en C# Class en Ligne

Génère des classes C# depuis un JSON, dans ton navigateur.

Processed in your browser

JSON vers classes C# prêtes pour .NET

Compatible avec .NET moderne

Les classes générées fonctionnent avec System.Text.Json (.NET 5+) et Newtonsoft.Json. Prêtes pour ASP.NET Core et .NET MAUI.

100 % privé

Ton JSON est traité dans le navigateur. Jamais envoyé à des serveurs externes. Sûr pour les API confidentielles.

Code C# idiomatique

Auto-propriétés, PascalCase, types nullable corrects. Code suivant les conventions officielles Microsoft.

Instantané

Génération des classes en millisecondes. Aucune installation, aucune inscription, aucune attente.

Trois étapes, sans complications

1

Colle ton JSON

Colle n'importe quel objet JSON valide. L'analyseur détecte les types, les champs optionnels et les structures imbriquées.

2

Génère les classes C#

Des classes C# sont générées avec des auto-propriétés, des types nullable pour les champs optionnels et des classes imbriquées.

3

Copie et utilise dans ton projet

Copie le code généré dans Visual Studio ou VS Code. Compatible avec System.Text.Json et Newtonsoft.Json sans modification.

Des questions ?

Les auto-propriétés ({ get; set; }) sont une fonctionnalité C# qui permet de déclarer des propriétés sans écrire manuellement le champ de sauvegarde. Au lieu de déclarer un champ privé et ses accesseurs explicites, tu écris simplement public string Name { get; set; } et le compilateur génère automatiquement le champ de sauvegarde. Cela rend le code plus concis et lisible.

Les conventions de nommage .NET (documentées dans les guidelines Microsoft) spécifient que les propriétés publiques doivent utiliser le PascalCase (PropertyName), contrairement à Java qui utilise le camelCase. Cependant, System.Text.Json et Newtonsoft.Json peuvent mapper automatiquement entre PascalCase en C# et camelCase en JSON grâce à JsonPropertyName ou à la configuration de sérialisation.

Quand un champ est présent dans certains objets JSON mais pas dans d'autres, il est inféré comme optionnel et généré avec un type nullable (string?, int?, bool?). Cela nécessite C# 8.0 ou supérieur avec le contexte nullable activé. Les types nullable empêchent les NullReferenceException lors de l'accès à des champs qui peuvent ne pas être présents dans la réponse JSON.

Les objets JSON imbriqués sont convertis en classes C# distinctes dans le même fichier. Chaque classe imbriquée est générée comme une classe publique normale (pas comme classe interne), en suivant la convention C# d'une classe par responsabilité. Les références entre classes sont établies via le type de la propriété.

System.Text.Json est inclus dans .NET Core 3.0+ et est l'option recommandée pour les nouveaux projets : il est plus rapide et ne nécessite aucune dépendance externe. Newtonsoft.Json (Json.NET) a plus de fonctionnalités et est plus flexible, étant préféré quand tu as besoin de convertisseurs personnalisés complexes ou de compatibilité avec des projets plus anciens. Les classes générées par cet outil sont compatibles avec les deux sans modification.

Classes C#, record types, sérialisation JSON dans .NET et développement ASP.NET Core

C# est le langage principal de l'écosystème .NET de Microsoft, utilisé massivement pour les API web avec ASP.NET Core, les applications de bureau avec WPF/WinForms et les applications multiplateformes avec .NET MAUI. Dans le développement d'API REST avec ASP.NET Core, les modèles de données (aussi appelés DTOs ou view models) sont des classes C# représentant le corps des requêtes et réponses JSON.

Avec C# 9.0 et .NET 5+, Microsoft a introduit les record types : des classes immuables avec une égalité basée sur la valeur, idéales pour les DTOs. Contrairement aux classes normales, les records sont immuables par défaut et nécessitent moins de code boilerplate. Cependant, pour les scénarios où les objets doivent être mutables (par exemple lors de la désérialisation depuis JSON), les classes avec auto-propriétés restent l'option standard.

System.Text.Json, introduit dans .NET Core 3.0, remplace Newtonsoft.Json comme bibliothèque de sérialisation JSON recommandée. Il est significativement plus rapide et a une empreinte mémoire plus faible, ce qui est important pour les API haute performance. Dans les benchmarks, System.Text.Json surpasse Newtonsoft en vitesse de sérialisation et désérialisation. Convertir.ai génère des classes compatibles avec les deux bibliothèques, en traitant tout dans ton navigateur sans envoyer de données à des serveurs.