logo

Analyzovať JSON v C#

Úvod:

Analýza JSON v C# je bežnou úlohou pre vývojárov vytvárajúcich aplikácie, ktoré spotrebúvajú údaje JSON. JSON predstavuje Zápis objektov JavaScript a je to ľahký formát zmeny reprezentácie údajov, ktorý je optimálny pre bežných používateľov na čítanie a zápis a jednoduchý na analýzu a generovanie strojov. V tomto článku sa pozrieme, ako analyzovať JSON v C # pomocou vstavaného .NET JSON parsovanie knižníc.

Analýza JSON v C# sa dá dosiahnuť rôznymi spôsobmi: pomocou Knižnica Newtonsoft.Json alebo pomocou Knižnica System.Text.Json predstavený v .NET Core 3.0 . Obe knižnice sú populárnou voľbou pre analýzu JSON v C# a poskytujú podobné funkcie.

Metóda 1: Použitie balíka Newtonsoft.Json

Jeden z najpopulárnejších balíkov pre analýzu JSON v C# je Newtonsoft.Json . Ide o balík tretej strany, ktorý poskytuje jednoduchý a flexibilný spôsob serializácie a deserializácie údajov JSON.

Použit Newtonsoft.Json vo svojom projekte C# ho musíte najskôr nainštalovať. Môžete si ho nainštalovať cez NuGet správca balíkov v Vizuálne štúdio alebo spustením nasledujúceho príkazu v konzole správcu balíkov:

python os zoznam

kód:

 Install-Package Newtonsoft.Json 

Po nainštalovaní ho môžete začať používať vo svojom kóde. Tu je príklad, ako analyzovať JSON pomocou Newtonsoft.Json:

C# kód:

 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); 

V tomto príklade definujeme reťazec JSON a deserializujeme ho pomocou JsonConvert.DeserializeObject spôsob poskytovaný spoločnosťou Newtonsoft.Json . Metóda vracia dynamický objekt, ktorý nám umožňuje pristupovať k údajom JSON pomocou syntaxe vlastnosti.

parciálny derivát v latexe

Metóda 2: Použitie priestoru názvov System.Text.Json

Počnúc .NET Core 3.0 a .NET 5.0, C# tiež poskytuje vstavanú knižnicu JSON Parsing s názvom System.Text.Json . Je to ľahký a rýchly JSON serializátor a deserializátor, ktorý je súčasťou .NET beh programu.

Tu je príklad, ako analyzovať JSON pomocou System.Text.Json:

C# kód:

algoritmus triedenia vloženia
 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); 

V tomto príklade používame JsonDocument.Parse spôsob poskytovaný spoločnosťou System.Text.Json na analýzu reťazca JSON. Metóda vracia a JsonDocument objekt, ktorý predstavuje analyzované údaje JSON. Potom môžeme pristupovať k údajom JSON pomocou JsonElement trieda a jej GetProperty metóda.

Metóda 3: Použitie triedy JavaScriptSerializer

Ďalším spôsobom, ako analyzovať JSON v C#, je použitie JavaScriptSerializer triedy, ktorá je súčasťou System.Web.Extensions zhromaždenie. Táto trieda bola zavedená v r. NET Framework 3.5 a poskytuje jednoduchý spôsob deserializácie údajov JSON na objekt so silným typom.

Ak chcete použiť JavaScriptSerializer musíte vytvoriť triedu, ktorá predstavuje objekt JSON, ktorý chcete deserializovať. Trieda by mala mať vlastnosti, ktoré sa zhodujú s názvami a typmi údajov s vlastnosťami objektu JSON. Predpokladajme napríklad, že máte nižšie uvedený objekt JSON:

Objekt JSON:

 { 'name': 'John Doe', 'age': 30, 'email': '[email protected]' } 

Triedu, ktorá reprezentuje tento objekt, môžete vytvoriť takto:

C# kód:

 public class Person { public string Name { get; set; } public int Age { get; set; } public string Email { get; set; } } 

Po definovaní triedy môžete použiť JavaScriptSerializer triedy na deserializáciu údajov JSON do inštancie triedy Osoba:

C# kód:

 string json = '{'name':'John Doe','age':30,'email':'[email protected]'}'; JavaScriptSerializer serializer = new JavaScriptSerializer(); Person person = serializer.Deserialize(json); 

Vo vyššie uvedenom príklade sme najprv definovali reťazec obsahujúci údaje JSON. Potom sme vytvorili inštanciu JavaScriptSerializer triedy a použil svoju metódu Deserialize na analýzu údajov JSON do inštancie triedy Person.

rímska číslica od 1 do 100

Stojí za zmienku, že JavaScriptSerializer trieda má obmedzenia v porovnaní s ďalšími dvoma metódami, o ktorých sme hovorili. Nepodporuje napríklad niektoré pokročilejšie funkcie JSON, ako je manipulácia s hodnotami null alebo konverzia medzi konvenciami názvov camelCase a PascalCase. Nemá tiež vstavanú podporu pre deserializáciu polí JSON.

Záver:

V tomto článku sme preskúmali dva spôsoby analýzy JSON v C#: pomocou Newtonsoft.Json knižnicu a používanie System.Text.Json knižnica. Obe knižnice poskytujú výkonné možnosti analýzy JSON a sú široko používané vývojármi vytvárajúcimi aplikácie C#, ktoré spotrebúvajú údaje JSON.