C# Parse JSON

Minahil Noor 12 octobre 2023
  1. Programme C# pour analyser une chaîne JSON en utilisant la méthode JsonConvert.DeserializeObject()
  2. Programme C# pour analyser une chaîne de caractères JSON en utilisant la méthode JObject.Parse()
  3. Programme C# pour analyser la chaîne JSON en utilisant la méthode JavaScriptSerializer().Deserialize()
C# Parse JSON

La notation d’objet JavaScript (JSON) est un format pour l’échange de données. Il est plus facile à écrire pour les humains et plus simple à traiter pour les machines. En C#, il existe de nombreuses méthodes pour traiter les données JSON.

Dans cet article, nous allons discuter des méthodes permettant d’analyser les données JSON en un objet C#.

Programme C# pour analyser une chaîne JSON en utilisant la méthode JsonConvert.DeserializeObject()

La méthode JsonConvert.DeserializeObject() appartient à la classe JsonConvert. Elle est utilisée pour convertir une chaîne JSON en un objet C#. L’objet est d’une classe personnalisée qui est créée en analysant la chaîne JSON.

La syntaxe correcte pour utiliser cette méthode est la suivante:

JsonConvert.DeserializeObject<CustomClassName>(JsonStringName);

Exemple de code:

using System;
using Newtonsoft.Json;

namespace JSONParsing {
  public class Parsing {
    public static void Main(string[] args) {
      var jsonString = @"{'FirstName': 'Olivia', 'LastName': 'Mason'}";
      // Use of the method
      var NameObject = JsonConvert.DeserializeObject<Name>(jsonString);
      Console.WriteLine(string.Concat("The First Name and Last Name are, ", NameObject.FirstName,
                                      " " + NameObject.LastName, "."));
    }
    // Creating custom class after analyzing JSON string
    public class Name {
      public string FirstName { get; set; }
      public string LastName { get; set; }
    }
  }
}

Production:

The First Name and Last Name are : Olivia Mason.

Cette méthode lance une JsonSerializationException si la conversion de JSON en objet C# n’est pas réussie. Cette exception est alors traitée en utilisant un bloc try-catch.

Programme C# pour analyser une chaîne de caractères JSON en utilisant la méthode JObject.Parse()

La méthode JObject.Parse() est une méthode de classe JObject. Cette méthode d’analyse est utilisée pour analyser une chaîne JSON en un objet C#. Elle analyse les données de la chaîne en fonction de sa valeur de key. Cette value de la key est ensuite utilisée pour récupérer les données.

La syntaxe correcte pour utiliser cette méthode est la suivante:

Jobject.Parse(jsonStringName);

Exemple de code:

using System;
using Newtonsoft.Json.Linq;

namespace JSONParsing {
  public class Parsing {
    public static void Main(string[] args) {
      string jsonString =
          @"{
            'FirstName':'Olivia',  
            'LastName':'Mason'  
        }";
      // Use of the method
      var Name = JObject.Parse(jsonString);
      Console.WriteLine(string.Concat("The First Name and Last Name is: ", Name["FirstName"],
                                      " " + Name["LastName"], "."));
    }
  }
}

Production:

The First Name and Last Name is : Olivia Mason.

La méthode JObject.Parse() lance des exceptions qui pourraient être traitées en utilisant un bloc try-catch.

Programme C# pour analyser la chaîne JSON en utilisant la méthode JavaScriptSerializer().Deserialize()

Cette méthode peut être mise en œuvre dans les versions ultérieures de .NET. Pour les versions antérieures, les deux méthodes ci-dessus sont les meilleures. Cette méthode est utilisée pour convertir une chaîne JSON en un objet C#.

La syntaxe correcte pour utiliser cette méthode est la suivante:

JavaScriptSerializer().Deserialize<CustomClassName>(jsonString);

Exemple de code:

using System;
using System.Web.Script.Serialization;

class Parsing {
  static void Main() {
    var json = @"{""name"":""Olivia Mason"",""age"":19}";
    var ObjectName = new JavaScriptSerializer().Deserialize<MyInfo>(json);
    Console.WriteLine("The name is:", ObjectName.name, ".");
  }
}

class MyInfo {
  public string name { get; set; }
  public int age { get; set; }
}

Production:

The name is : Olivia Mason.

Article connexe - Csharp JSON