Premiers pas avec json.net

Comment installer Json.Net dans les projets Visual Studio

Vous pouvez installer Json.Net dans votre projet Visual Studio de 1 à 2 façons.

Installez Json.Net à l’aide de la console du gestionnaire de packages.

  1. Ouvrez la fenêtre Console du gestionnaire de packages dans Visual Studio en tapant console du gestionnaire de packages dans la zone de lancement rapide et en la sélectionnant

[![entrez la description de l’image ici][2]][2]

ou en cliquant sur Affichage -> Autres fenêtres -> Console du gestionnaire de packages.

  1. Une fois que la console du gestionnaire de packages est visible, sélectionnez le projet dans votre solution, dans lequel vous souhaitez installer Json.Net, en le sélectionnant dans la liste déroulante Projet par défaut.

[![entrez la description de l’image ici][3]][3]

  1. Tapez maintenant la commande suivante et appuyez sur Entrée.

Install-Package Newtonsoft.Json

  1. Cela installera la dernière version de Json.Net. Vous verrez la progression de l’installation dans la console du gestionnaire de packages. En cas de succès, vous recevrez le message indiquant qu’il a été installé avec succès dans votre projet sélectionné.

[![entrez la description de l’image ici][4]][4]

  1. Une fois installé avec succès, vous pourrez désormais voir l’assemblage Json.Net dans les références de votre projet sélectionné. Le nom de l’assembly Json.Net est Newtonsoft.Json

[![entrez la description de l’image ici][5]][5]

Json.Net est maintenant prêt à être utilisé dans votre projet !

Installez Json.Net à l’aide de l’explorateur de solutions Visual Studio.

Vous pouvez également installer json.net à l’aide de l’explorateur de solutions dans Visual Studio.

  1. Faites un clic droit sur le nœud References dans votre projet et cliquez sur Manage Nuget Packages…

  2. Dans la boîte de dialogue Gestionnaire de packages Nuget, assurez-vous que En ligne est sélectionné dans le volet de gauche. Tapez Json.Net dans le champ de recherche en haut à droite. Cela affichera le package Json.Net Nuget dans le volet des résultats de recherche au milieu.

  3. Cliquez sur le bouton Installer.

[![entrez la description de l’image ici][6]][6]

  1. Vous verrez la progression de l’installation dans la fenêtre de progression qui apparaîtra.

[![entrez la description de l’image ici][7]][7]

  1. Une fois l’installation terminée, vous verrez une coche verte à côté du package Json.Net dans la boîte de dialogue Nuget Package Manager.

[![entrez la description de l’image ici][8]][8]

  1. Vous verrez également l’assembly Newtonsoft.Json dans le nœud References de votre explorateur de solutions pour votre projet sélectionné.

[![entrez la description de l’image ici][9]][9]

Ceci termine l’installation de Json.Net. Vous êtes maintenant prêt à l’utiliser dans votre projet pour effectuer diverses opérations sur les données json.

[1] : http://www.newtonsoft.com/json [2] : http://i.stack.imgur.com/F5Mz0.png [3] : http://i.stack.imgur.com/13Dg6.png [4] : http://i.stack.imgur.com/FHwQ5.png [5] : http://i.stack.imgur.com/Y6EqM.png [6] : http://i.stack.imgur.com/IocDI.png [7] : http://i.stack.imgur.com/UZyip.png [8] : http://i.stack.imgur.com/2dCla.png [9] : http://i.stack.imgur.com/WB3K5.png

Comment désérialiser les données JSON en objet à l’aide de Json.Net en C#

L’exemple suivant montre comment vous pouvez désérialiser une chaîne JSON contenant dans un objet (c’est-à-dire dans une instance d’une classe).

using System;
using System.Collections.Generic;
using Newtonsoft.Json;
                    
public class Program
{
    public class Employee
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public bool IsManager { get; set; }
        public DateTime JoinedDate { get; set; }
        public IList<string> Titles { get; set; }
    }
    
    public static void Main()
    {
        string json = @"{
                          'FirstName': 'Shiva',
                          'LastName': 'Kumar',
                          'IsManager': true,
                          'JoinedDate': '2014-02-10T00:00:00Z',
                          'Titles': [
                            'Sr. Software Engineer',
                            'Applications Architect'
                          ]
                        }";
        
        Employee employee = JsonConvert.DeserializeObject<Employee>(json);

        Console.WriteLine(employee.FirstName);
        Console.WriteLine(employee.LastName);
        Console.WriteLine(employee.JoinedDate);
        foreach (string title in employee.Titles)
        {
            Console.WriteLine("  {0}", title);    
        }
    }
}

Si vous exécutez ce programme de console, la sortie des différentes instructions Console.WriteLine sera la suivante.

Shiva
Kumar
2/10/2014 12:00:00 AM
  Sr. Software Engineer
  Applications Architect

Peu de choses à noter

  1. La ligne suivante effectue la désérialisation réelle des données dans la chaîne json dans l’instance d’objet employee de la classe Employee.

Employé employé = JsonConvert.DeserializeObject<Employé>(json);

  1. Étant donné que employee.Titles est un type List<string>, nous utilisons la construction de boucle foreach pour parcourir chaque élément de cette List.

Comment sérialiser un objet en JSON à l’aide de Json.Net en C#

L’exemple suivant montre comment vous pouvez utiliser Json.Net pour sérialiser les données dans l’instance d’un objet C#, en chaîne JSON.

using System;
using System.Collections.Generic;
using Newtonsoft.Json;

public class Employee
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public bool IsManager { get; set; }
    public DateTime JoinedDate { get; set; }
    public IList<string> Titles { get; set; }
}
                    
public class Program
{
    public static void Main()
    {
        Employee employee = new Employee
        {
            FirstName = "Shiva",
            LastName = "Kumar",            
            IsManager = true,
            JoinedDate = new DateTime(2013, 1, 20, 0, 0, 0, DateTimeKind.Utc),
            Titles = new List<string>
            {
                "Sr. Software Engineer",
                "Applications Architect"
            }
        };

        string json = JsonConvert.SerializeObject(employee, Formatting.Indented);


Console.WriteLine(json);
        
    }
}

Si vous exécutez ce programme de console, la sortie de Console.WriteLine(json) sera

{
  "FirstName": "Shiva",
  "LastName": "Kumar",
  "IsManager": true,
  "JoinedDate": "2013-01-20T00:00:00Z",
  "Titles": [
    "Sr. Software Engineer",
    "Applications Architect"
  ]
}

Peu de choses à noter

  1. La ligne suivante effectue la sérialisation réelle des données à l’intérieur de l’instance de classe employee dans une chaîne json

    string json = JsonConvert.SerializeObject(employee, Formatting.Indented);

  2. Le paramètre “Formatting.Indented” indique à Json.Net de sérialiser les données avec une indentation et de nouvelles lignes. Si vous ne le faites pas, la chaîne sérialisée sera une longue chaîne sans indentation ni saut de ligne.