Convertisseur C# vers JSON
Collez vos classes ou objets C#. Récupérez du JSON propre.
Ce que fait cet outil
Si vous avez déjà dû fabriquer à la main une charge JSON qui reflète une classe C# — pour un test, un appel d'API ou une doc — vous savez à quel point c'est fastidieux. Collez le C# ici et récupérez du JSON valide sans rien réécrire à la main. L'outil gère un simple initialiseur d'objet, un fichier de modèle complet avec plusieurs classes ou quelque chose de profondément imbriqué : même résultat, un document JSON complet avec tous les champs préservés.
Ce n'est pas un simple remplacement de chaînes. Le convertisseur sait comment C# sérialise réellement à l'exécution : les suffixes decimal comme 49.99m perdent le m et deviennent des nombres JSON, DateTime et DateTimeOffset sortent en chaînes ISO-8601 conformes à la RFC 8259, Guid devient une chaîne hex standard, les nullables à null deviennent null, et les collections suivent ce que produiraient System.Text.Json et Newtonsoft.Json — List<T> et tableaux en arrays JSON, Dictionary<K,V> en objet JSON.
Les attributs de sérialisation sont respectés aussi. [JsonPropertyName("x")] renomme la clé, [JsonIgnore] supprime la propriété. Si vous collez plusieurs classes d'un coup, chacune ressort comme une entrée de premier niveau dans le JSON, avec les types imbriqués développés et les propriétés héritées des classes de base intégrées. Rien ne disparaît discrètement.
Comment l'utiliser
Trois étapes. Même principe que vous colliez cinq lignes ou un fichier de modèle entier.
Collez votre C# (ou essayez l'exemple)
Mettez votre C# dans l'éditeur de gauche tel quel. Un initialiseur d'objet, une définition de classe complète, plusieurs classes ou des structures imbriquées — tout fonctionne. Cliquez sur Load Sample si vous voulez voir un exemple réaliste d'abord.
Pas besoin de nettoyer le code — laissez la syntaxe C#, les modificateurs d'accès et les attributs tels quels. Collez, c'est tout.
Cliquez sur Convertir
Cliquez sur le bouton vert Convert. L'outil lit le C#, préserve chaque classe et chaque propriété, et construit le JSON en une seule passe. Un petit indicateur de chargement s'affiche pendant le traitement.
Copiez le JSON
Le panneau de droite se remplit de JSON indenté, compatible MDN. Copiez-le directement dans votre requête API, votre fixture de test, votre fichier de config ou votre documentation.
Quand ça sert vraiment
Créer des fixtures d'API
Vous avez un modèle de requête C# et il vous faut une charge JSON à coller dans Postman ou curl. Collez la classe, récupérez le JSON, passez à autre chose.
Démarrer des fichiers de config
Une classe Settings avec 40 propriétés devient un modèle JSON prêt à éditer pour appsettings.json ou n'importe quel stockage de config — sans boilerplate à taper à la main.
Garder la doc synchronisée
Générez des exemples JSON pour un README, une référence d'API ou une spec OpenAPI directement depuis vos modèles réels, pour que la doc corresponde au code.
Alimenter des données de test
Transformez les initialiseurs d'objets de vos tests unitaires en fichiers JSON de seed pour les tests d'intégration, les mock servers ou les fixtures de base de données.
Questions fréquentes
Je peux coller plusieurs classes d'un coup ?
Oui — collez un fichier entier. Chaque classe de premier niveau ressort avec sa propre clé dans le JSON, avec les types imbriqués développés et les propriétés héritées des classes de base incluses. Rien n'est abandonné.
Les attributs comme [JsonPropertyName] ou [JsonIgnore] sont-ils respectés ?
Oui. [JsonPropertyName("x")] et [JsonProperty("x")] renomment la clé JSON, et [JsonIgnore] retire la propriété de la sortie — exactement le même comportement qu'avec System.Text.Json.
Comment sont gérés decimal, DateTime, Guid et les types C# habituels ?
Les decimals (49.99m) perdent leur suffixe et deviennent des nombres JSON. DateTime et DateTimeOffset sortent en chaînes ISO-8601. Guid devient une chaîne hex standard au format 8-4-4-4-12. TimeSpan devient une chaîne de durée. Les nullables à null deviennent null en JSON ; sinon le type sous-jacent est sérialisé.
Et les classes imbriquées, listes et dictionnaires ?
List<T>, les tableaux, HashSet<T> et IEnumerable<T> deviennent tous des arrays JSON. Dictionary<K,V> devient un objet JSON. Les initialiseurs d'objets imbriqués — un Address dans un Order, par exemple — sont développés en objets JSON imbriqués avec chaque champ intact.
Est-ce que mon code est stocké ?
Votre code est envoyé au backend pour la conversion et n'est pas conservé — on ne journalise pas la charge. Comme toujours avec les outils en ligne, si le code est vraiment sensible, jetez-y un œil avant de coller.
Et si le C# contient quelque chose d'inhabituel — méthodes, delegates, IntPtr ?
Ces éléments sortent en null plutôt que de faire planter toute la conversion, comme ça le reste de votre modèle passe quand même. Si le code lui-même a des erreurs de syntaxe, corrigez d'abord les plus évidentes — le parseur est tolérant, pas magicien.
Autres outils qui peuvent servir
C# vers JSON n'est qu'une pièce du puzzle. Voici les outils qui vont bien avec :