Wstęp:
Analizowanie formatu JSON w języku C# jest częstym zadaniem programistów tworzących aplikacje korzystające z danych JSON. JSON reprezentuje Notacja obiektu JavaScript i jest lekkim formatem zmieniającym reprezentację danych, optymalnym do odczytu i zapisu dla zwykłych użytkowników oraz łatwym do analizowania i generowania przez maszyny. W tym artykule przyjrzymy się, jak analizować JSON w języku C# przy użyciu wbudowanej metody .NETJSON analizowanie bibliotek.
Analizę JSON w języku C# można osiągnąć na różne sposoby: używając metody Biblioteka Newtonsoft.Json lub za pomocą Biblioteka System.Text.Json wprowadzony w .NET Core 3.0 . Obie biblioteki są popularnymi opcjami analizy JSON w języku C# i zapewniają podobne funkcjonalności.
Metoda 1: Korzystanie z pakietu Newtonsoft.Json
Jednym z najpopularniejszych pakietów do analizowania JSON w C# jest Newtonsoft.Json . Jest to pakiet innej firmy, który zapewnia prosty i elastyczny sposób serializacji i deserializacji danych JSON.
Używać Newtonsoft.Json w projekcie C# musisz go najpierw zainstalować. Można go zainstalować poprzez NuGeta menedżer pakietów w Studio wizualne lub uruchamiając następującą komendę w konsoli Menedżera pakietów:
rokmiesiąc
Kod:
Install-Package Newtonsoft.Json
Po zainstalowaniu możesz zacząć używać go w swoim kodzie. Oto przykład analizowania formatu JSON przy użyciu Newtonsoft.Json:
Kod 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);
W tym przykładzie definiujemy ciąg JSON i deserializujemy go za pomocą metody JsonConvert.DeserializeObject metoda dostarczona przez Newtonsoft.Json . Metoda zwraca obiekt dynamiczny, który umożliwia dostęp do danych JSON przy użyciu składni właściwości.
rzutuj ciąg jako int
Metoda 2: Korzystanie z przestrzeni nazw System.Text.Json
Zaczynając od .NET Core 3.0 I .NET 5.0, C# udostępnia także wbudowaną bibliotekę analizowania JSON o nazwie System.Text.Json . Jest to lekki i szybki serializator i deserializator JSON zawarty w pakiecie .INTERNET czas wykonania.
Oto przykład analizowania formatu JSON przy użyciu System.Text.Json:
Kod C#:
jpa vs hibernacja
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);
W tym przykładzie używamy JsonDocument.Parse metoda dostarczona przez System.Text.Json do analizy ciągu JSON. Metoda zwraca a Dokument Jsona obiekt, który reprezentuje przeanalizowane dane JSON. Następnie możemy uzyskać dostęp do danych JSON za pomocą Element Json klasa i jej PobierzWłaściwość metoda.
Metoda 3: Korzystanie z klasy JavaScriptSerializer
Innym sposobem analizowania JSON w języku C# jest użycie metody Serializator JavaScript klasa, która jest częścią Rozszerzenia System.Web montaż. Klasa ta została wprowadzona w . NET Framework 3.5 i zapewnia prosty sposób deserializacji danych JSON do obiektu o jednoznacznie określonym typie.
Aby skorzystać z Serializator JavaScript class, musisz utworzyć klasę reprezentującą obiekt JSON, który chcesz deserializować. Klasa powinna mieć właściwości zgodne z nazwami i typami danych właściwości obiektu JSON. Załóżmy na przykład, że masz poniższy obiekt JSON:
Obiekt JSON:
{ 'name': 'John Doe', 'age': 30, 'email': '[email protected]' }
Możesz utworzyć klasę reprezentującą ten obiekt w następujący sposób:
Kod C#:
public class Person { public string Name { get; set; } public int Age { get; set; } public string Email { get; set; } }
Po zdefiniowaniu klasy możesz użyć metody Serializator JavaScript class do deserializacji danych JSON do instancji klasy Person:
Kod C#:
string json = '{'name':'John Doe','age':30,'email':'[email protected]'}'; JavaScriptSerializer serializer = new JavaScriptSerializer(); Person person = serializer.Deserialize(json);
W powyższym przykładzie najpierw zdefiniowaliśmy ciąg znaków zawierający dane JSON. Następnie utworzyliśmy instancję Serializator JavaScript class i użył metody Deserialize do przeanalizowania danych JSON w instancji klasy Person.
w którym roku wynaleziono komputer
Warto zaznaczyć, że Serializator JavaScript class ma ograniczenia w porównaniu z dwoma pozostałymi metodami, które omówiliśmy. Na przykład nie obsługuje niektórych bardziej zaawansowanych funkcji JSON, takich jak obsługa wartości null lub konwersja między konwencjami nazewnictwa CamelCase i PascalCase. Nie ma również wbudowanej obsługi deserializacji tablic JSON.
Wniosek:
W tym artykule omówiliśmy dwa sposoby analizowania formatu JSON w języku C#: przy użyciu metody Newtonsoft.Json bibliotekę i korzystanie z System.Text.Json biblioteka. Obie biblioteki zapewniają zaawansowane możliwości analizowania JSON i są powszechnie używane przez programistów tworzących aplikacje w języku C#, które korzystają z danych JSON.