Introduction:
L'analyse de JSON en C# est une tâche courante pour les développeurs qui créent des applications qui consomment des données JSON. JSON représente Notation d'objet JavaScript et il s'agit d'un format de changement de représentation de données léger qui est optimal pour les utilisateurs normaux en lecture et en écriture et facile à analyser et à générer pour les machines. Dans cet article, nous verrons comment analyser JSON en C# à l'aide de l'outil intégré .NETJSON analyse des bibliothèques.
L'analyse JSON en C# peut être réalisée de différentes manières : en utilisant le Bibliothèque Newtonsoft.Json ou en utilisant le Bibliothèque System.Text.Json introduit dans .NET Core 3.0 . Les deux bibliothèques sont des choix populaires pour l’analyse JSON en C# et offrent des fonctionnalités similaires.
Méthode 1 : utilisation du package Newtonsoft.Json
L'un des packages les plus populaires pour l'analyse JSON en C# est Newtonsoft.Json . Il s'agit d'un package tiers qui offre un moyen simple et flexible de sérialiser et de désérialiser les données JSON.
Utiliser Newtonsoft.Json dans votre projet C#, vous devez d'abord l'installer. Vous pouvez l'installer via le NuGet gestionnaire de paquets dans Visual Studio ou en exécutant la commande suivante dans la console du gestionnaire de packages :
mysql insérer dans
Code:
Install-Package Newtonsoft.Json
Une fois installé, vous pouvez commencer à l'utiliser dans votre code. Voici un exemple de la façon d'analyser JSON en utilisant Newtonsoft.Json :
Code C# :
using Newtonsoft.Json; string json = @'{ 'name': 'John', 'age': 30, 'city': 'New York' }'; dynamic data = JsonConvert.DeserializeObject(json); string name = data.name; int age = data.age; string city = data.city; Console.WriteLine('Name: ' + name); Console.WriteLine('Age: ' + age); Console.WriteLine('City: ' + city);
Dans cet exemple, nous définissons une chaîne JSON et la désérialisons à l'aide du JsonConvert.DeserializeObject méthode fournie par Newtonsoft.Json . La méthode renvoie un objet dynamique, qui nous permet d'accéder aux données JSON en utilisant la syntaxe des propriétés.
exposant dans l'illustrateur
Méthode 2 : utilisation de l'espace de noms System.Text.Json
Commençant par .NET Core 3.0 et .NET 5.0, C# fournit également une bibliothèque d'analyse JSON intégrée appelée Système.Texte.Json . Il s'agit d'un sérialiseur et désérialiseur JSON léger et rapide inclus dans le .FILET Durée.
Voici un exemple de la façon d'analyser JSON en utilisant Système.Texte.Json :
Code C# :
comment mettre à jour en java
using System.Text.Json; string json = @'{ 'name': 'John', 'age': 30, 'city': 'New York' }'; JsonDocument doc = JsonDocument.Parse(json); JsonElement root = doc.RootElement; string name = root.GetProperty('name').GetString(); int age = root.GetProperty('age').GetInt32(); string city = root.GetProperty('city').GetString(); Console.WriteLine('Name: ' + name); Console.WriteLine('Age: ' + age); Console.WriteLine('City: ' + city);
Dans cet exemple, nous utilisons le JsonDocument.Parse méthode fournie par Système.Texte.Json pour analyser la chaîne JSON. La méthode renvoie un JsonDocument objet, qui représente les données JSON analysées. Nous pouvons ensuite accéder aux données JSON en utilisant le JsonElement la classe et son ObtenirPropriété méthode.
Méthode 3 : utilisation de la classe JavaScriptSerializer
Une autre façon d’analyser JSON en C# consiste à utiliser le JavaScriptSérialiseur classe, qui fait partie de la Système.Web.Extensions assemblée. Cette classe a été introduite en . NET-Framework 3.5 et fournit un moyen simple de désérialiser les données JSON en un objet fortement typé.
Pour utiliser le JavaScriptSérialiseur classe, vous devez créer une classe qui représente l'objet JSON que vous souhaitez désérialiser. La classe doit avoir des propriétés qui correspondent aux noms et aux types de données des propriétés de l'objet JSON. Par exemple, supposons que vous disposiez de l'objet JSON ci-dessous :
Objet JSON :
{ 'name': 'John Doe', 'age': 30, 'email': '[email protected]' }
Vous pouvez créer une classe qui représente cet objet comme suit :
Code C# :
public class Person { public string Name { get; set; } public int Age { get; set; } public string Email { get; set; } }
Une fois que vous avez défini la classe, vous pouvez utiliser le JavaScriptSérialiseur classe pour désérialiser les données JSON dans une instance de la classe Person :
Code C# :
string json = '{'name':'John Doe','age':30,'email':'[email protected]'}'; JavaScriptSerializer serializer = new JavaScriptSerializer(); Person person = serializer.Deserialize(json);
Dans l'exemple ci-dessus, nous avons d'abord défini une chaîne contenant les données JSON. Nous avons ensuite créé une instance du JavaScriptSérialiseur et a utilisé sa méthode Deserialize pour analyser les données JSON dans une instance de la classe Person.
slf4j contre log4j
Il convient de noter que le JavaScriptSérialiseur La classe a des limites par rapport aux deux autres méthodes dont nous avons discuté. Par exemple, il ne prend pas en charge certaines des fonctionnalités les plus avancées de JSON, telles que la gestion des valeurs nulles ou la conversion entre les conventions de dénomination camelCase et PascalCase. Il ne prend pas non plus en charge la désérialisation des tableaux JSON.
Conclusion:
Dans cet article, nous avons exploré deux manières d'analyser JSON en C# : en utilisant le Newtonsoft.Json bibliothèque et en utilisant le Système.Texte.Json bibliothèque. Les deux bibliothèques offrent de puissantes capacités d'analyse JSON et sont largement utilisées par les développeurs qui créent des applications C# qui consomment des données JSON.