Maison  >  Article  >  développement back-end  >  Analyseur JSON en C#

Analyseur JSON en C#

PHPz
PHPzoriginal
2024-09-03 15:33:30957parcourir

L'analyse JSON (JavaScript Object Notation) est indépendante du langage, il s'agit d'un format léger d'échange de données, auto-descriptif et facile à comprendre. L'analyseur JSON est une alternative au XML ; il représente les objets au format texte structurel et les données sont stockées dans des paires clé-valeur. L'extension du nom de fichier JSON est .json. Les classes JSON permettent de sérialiser les objets en texte JSON et de désérialiser le texte JSON en objets ; il a un support intégré pour UTF-8.

Syntaxe :

Voyons la syntaxe de JSON (JavaScript Object Notation) comme suit,

  • La méthode Jobject.Parse() est une méthode de classe d'objet, et cette méthode est utilisée pour analyser la chaîne JSON dans les objets de C#. Sur la base de la valeur clé, il analyse les données de la chaîne, puis récupère les données à l'aide des valeurs clés. Pour la méthode parse, la syntaxe est la suivante,
Jobject.Parse(jsonStringName);
  • Une autre méthode pour analyser la chaîne JSON consiste à utiliser JsonConvert.DeserializeObject(), qui appartient à la classe JsonConvert. Voyons la syntaxe ci-dessous,
JsonConvert.DeserilizeObject<CustomClassName>(JsonStringName);
  • Analysez la chaîne JSON à l'aide de JavaScriptSerialize(). Méthode De-serialize(), cette méthode n'est appliquée qu'aux dernières versions de .NET ; voyons la syntaxe ci-dessous
JavaScriptSerializer(). Deserialize<CustomClassName>(jsonString);

Comment fonctionne l'analyseur JSON en C# ?

JSON (JavaScript Object Notation) est un format léger d'échange de données, facile à écrire et à lire par les humains et analysé et généré par des machines. Il offre des performances élevées et moins d’allocation d’espace mémoire. Il existe de nombreux contrôles tiers pour fournir des données du côté client au côté serveur au format de chaîne JSON, et il est essentiel de convertir la chaîne JSON en un objet approprié pour accéder aux données, des contrôles tiers comme la grille Kendo UI, et ainsi de suite. En cela, il existe un support intégré UTF-8.
La méthode Jobject.Parse() est une méthode de classe d'objet, et cette méthode est utilisée pour analyser la chaîne JSON dans les objets de C#. Sur la base de la valeur clé, il analyse les données de la chaîne et récupère les données à l'aide des valeurs clés. Voyons le format d'analyse JSON et le flux de travail ci-dessous,

{
string jsonString = @"{
'user_FirstName':'Peter',
'user_LastName':'Paul'
}";
By using the JSON parsing method we can convert and retrieve as follows,
var getResult = JObject.Parse(jsonString);

De cette façon, nous pouvons récupérer les données.

Une autre méthode pour analyser la chaîne JSON utilise JsonConvert.DeserializeObject(), qui appartient à la classe JsonConvert, la méthode appelée JsonConvert.DeserializeObject() convertit la chaîne JSON en objet C#. La chaîne JSON crée ces objets. Le format utilisé pour cette méthode est le suivant,

JsonConvert.DeserilizeObject<CustomClassName>(JsonStringName);

Créez une classe appelée UserDetails avec les attributs First_Name et Last_Name pour saisir les données au format JSON indiqué ci-dessous pour recevoir les résultats de cette fonction.

var get_jsonString = @"{'First_Name': 'Peter', 'Last_Name': 'Paul'}";

Pour convertir les données de cette manière comme suit,

var result = JsonConvert.DeserializeObject < UserDetails > (get_jsonString);

Pour analyser la chaîne JSON à l'aide de JavaScriptSerialize(). La méthode De-serialize() n'est appliquée qu'aux versions ultérieures de .NET ; cette méthode ne s'appliquera pas aux versions antérieures ; pour cela, nous pouvons utiliser les deux premières méthodes pour convertir la chaîne JSON en objets C#. Le format utilisé pour cette méthode est le suivant,

JavaScriptSerializer().Deserialize<CustomClassName>(jsonString);
To create the class with UserDetails as follows,
class UserDetails
{
public string userName { get; set; }
public int userAge { get; set; }
}

Pour saisir les détails de l'utilisateur pour la conversion d'objets JSON en objets C# comme suit,

var input_json = @"{""name"":""Peter Paul"",""age"":49}";

Pour convertir le json en objets c# en utilisant la méthode serializer() ci-dessous comme suit,

var resultObject = new JavaScriptSerializer().Deserialize<UserDetails>(input_json);

.NET Framework prend en charge les classes de désérialisation et de sérialisation en JSON en utilisant celle que nous utilisons avec DataContractJsonSerializer. En utilisant le code ci-dessous, nous pouvons désérialiser les objets JSON ; pour utiliser la méthode, nous devons effectuer certaines procédures comme suit,

L'application doit avoir la référence de la bibliothèque System.Runtime.Serialization.

La classe entière doit avoir DataContract et les attributs doivent avoir des attributs DataMember.

[DataContract]
public class USerDetails
{
[DataMember]
public string First_Name {
get; set;
}
[DataMember]
public string Last_Name {
get; set;
}
}
  • Il faut utiliser la méthode WriteObject pour sérialiser un objet et la méthode ReadObject pour désérialiser les objets JSON.
string get_json = "{ \"First_Name\":\"Smith\",\"LastName\":\"Rio\" }";

DataContractJsonSerializerjsonSerializer = newDataContractJsonSerializer(typeof(USerDetails));

Json.NET est le meilleur framework pour l'environnement de travail. FILET. Il existe de nombreux avantages et fonctionnalités de JSON, comme suit :

  • Il s'agit de la conversion flexible du sérialiseur JSON entre les objets .NET et JSON.
  • Il y aura l'écriture et la lecture manuelles du JSON de LINQ to JSON
  • Il fonctionne plus rapidement que .NET et dispose de sérialiseurs JSON intégrés avec des données hautes performances.
  • Facile à lire JSON et à écrire en retrait.
  • La conversion entre JSON et XML est simple.

Exemples

Programme #1

La méthode Jobject.Parse() est une méthode de classe d'objet, et cette méthode est utilisée pour analyser la chaîne JSON dans les objets de C#. Sur la base de la valeur clé, il analyse les données de la chaîne et récupère les données en utilisant les valeurs clés. Voyons l'implémentation de l'analyse JSON ci-dessous,

using System;
using Newtonsoft.Json.Linq;
namespace JSONParsing
{
public class Parsing
{
public static void Main(string[] args)
{
string jsonString = @"{
'user_FirstName':'Peter',
'user_LastName':'Paul'
}";
//Using the JSON-parse method here
var getResult = JObject.Parse(jsonString);
Console.WriteLine("\n\tUsing JSON-Parse Method");
Console.WriteLine(string.Concat("\n\tDisplaying User First and Last Name: ", getResult["user_FirstName"], " " + getResult["user_LastName"], "."));
}
}
}

Sortie :

Analyseur JSON en C#

Program #2

To parse the JSON String using JsonConvert.DeserializeObject(), which belongs to the JsonConvert class, the method called JsonConvert.DeserializeObject() converts the JSON string to the C# object. The JSON string creates those objects.

using System;
using Newtonsoft.Json;
namespace JSONParse_Program
{
public class UserDetails
{
public string First_Name
{
get; set;
}
public string Last_Name
{
get; set;
}
}
public class Parsing
{
public static void Main(string[] args)
{
var get_jsonString = @"{'First_Name': 'Peter', 'Last_Name': 'Paul'}";
//Use of the method
var result = JsonConvert.DeserializeObject < UserDetails > (get_jsonString);
Console.WriteLine("JSON-Parse Method\n");
Console.WriteLine(string.Concat("\nDisplaying First and Last Name, ", result.First_Name, " " + result.Last_Name, "."));
}
}
}

Output:

Analyseur JSON en C#

Conclusion

In this article, I have explained the usage of JSON parser; for example, by using those methods, we can parse the JSON in the C# program and extract values.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Filtre DataTable C#Article suivant:Filtre DataTable C#