Newtonsoft.Json pour C# (.NET) : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce que Newtonsoft.Json et pourquoi en a-t-on besoin ?

\n\n

Newtonsoft.Json (souvent appelé simplement Json.NET) est la bibliothèque la plus populaire et la plus puissante pour travailler avec le format JSON dans l'écosystème .NET. Elle offre aux développeurs C# des outils hautes performances et flexibles pour la sérialisation (conversion d'objets C# en chaîne JSON) et la désérialisation (conversion d'une chaîne JSON en objets C#).

\n\n

Pourquoi en a-t-on besoin ? JSON (JavaScript Object Notation) est devenu le standard de facto pour l'échange de données entre serveurs web et clients, dans les fichiers de configuration, les API et les bases de données (par exemple, NoSQL). Newtonsoft.Json permet de :

\n
    \n
  • S'intégrer facilement avec n'importe quelle API REST — envoyer et recevoir des données au format JSON.
  • \n
  • Travailler avec des configurations — lire et écrire des fichiers JSON de paramètres.
  • \n
  • Gérer des structures complexes — prend en charge les objets imbriqués, les tableaux, les dictionnaires et les types dynamiques.
  • \n
  • Personnaliser le processus de sérialisation — à l'aide d'attributs et de paramètres (contrats, ignorance de propriétés, formatage des dates, etc.).
  • \n
\n\n

Installation de Newtonsoft.Json

\n\n

Contrairement à Python (où on utilise pip install) ou Node.js (npm install), dans l'écosystème .NET on utilise le gestionnaire de paquets NuGet. Vous pouvez installer la bibliothèque de plusieurs manières :

\n\n

Méthode 1 : Via la console du gestionnaire de paquets (Visual Studio)

\n

Ouvrez Outils → Gestionnaire de paquets NuGet → Console du gestionnaire de paquets et exécutez la commande :

\n
Install-Package Newtonsoft.Json
\n\n

Méthode 2 : Via .NET CLI (multi-plateforme)

\n

Si vous utilisez .NET Core / .NET 5+ et travaillez depuis le terminal, exécutez :

\n
dotnet add package Newtonsoft.Json
\n\n

Méthode 3 : Via l'interface de Visual Studio

\n

Faites un clic droit sur le projet → « Gérer les paquets NuGet » → dans l'onglet « Parcourir », recherchez Newtonsoft.Json et cliquez sur « Installer ».

\n\n

Après l'installation, ajoutez au début du fichier de code la directive using Newtonsoft.Json;.

\n\n

Démarrage rapide : exemple de code

\n\n

Voyons immédiatement comment fonctionne la bibliothèque avec un exemple simple. Supposons que nous ayons une classe Person :

\n\n
using System;\nusing Newtonsoft.Json;\n\npublic class Person\n{\n    public string Name { get; set; }\n    public int Age { get; set; }\n    public string Email { get; set; }\n}\n\nclass Program\n{\n    static void Main()\n    {\n        // 1. Création d'un objet\n        var person = new Person\n        {\n            Name = "Anna",\n            Age = 30,\n            Email = "anna@example.com"\n        };\n\n        // 2. Sérialisation : objet -> JSON\n        string json = JsonConvert.SerializeObject(person, Formatting.Indented);\n        Console.WriteLine("JSON sérialisé :");\n        Console.WriteLine(json);\n\n        // 3. Désérialisation : JSON -> objet\n        string jsonInput = @"{'Name':'Ivan','Age':25,'Email':'ivan@example.com'}";\n        Person deserializedPerson = JsonConvert.DeserializeObject<Person>(jsonInput);\n        Console.WriteLine($"\\nObjet désérialisé : {deserializedPerson.Name}, {deserializedPerson.Age}");\n    }\n}
\n\n

Sortie :

\n
JSON sérialisé :\n{\n  "Name": "Anna",\n  "Age": 30,\n  "Email": "anna@example.com"\n}\n\nObjet désérialisé : Ivan, 25
\n\n

Méthodes et fonctions principales de Newtonsoft.Json

\n\n

Voici 10 méthodes/fonctions clés de la bibliothèque avec une description détaillée et des exemples.

\n\n

1. JsonConvert.SerializeObject()

\n

Ce qu'elle fait : Convertit un objet .NET en chaîne JSON.

\n

Paramètres :

\n
    \n
  • value (object) — l'objet à sérialiser.
  • \n
  • formatting (Nullable<Form

Recommendations