Huraian JSON (JavaScript Object Notation) adalah bebas bahasa, format pertukaran data yang ringan, menerangkan sendiri dan mudah difahami. Penghurai JSON ialah alternatif kepada XML; ia mewakili objek dalam format teks struktur, dan data disimpan dalam pasangan nilai kunci. Sambungan nama fail JSON ialah .json. Kelas JSON membenarkan untuk mensirikan objek ke dalam teks JSON dan menyahsiri teks JSON ke objek; terdapat sokongan terbina dalam UTF-8.
Sintaks:
Mari lihat sintaks untuk JSON (JavaScript Object Notation) seperti berikut,
Jobject.Parse(jsonStringName);
JsonConvert.DeserilizeObject<CustomClassName>(JsonStringName);
JavaScriptSerializer(). Deserialize<CustomClassName>(jsonString);
JSON (JavaScript Object Notation) ialah format pertukaran data yang ringan, dan ia mudah ditulis dan dibaca oleh manusia serta dihuraikan serta dijana oleh mesin. Ia menyediakan prestasi tinggi dan kurang peruntukan ruang memori. Terdapat banyak kawalan pihak ketiga untuk membekalkan data dari sisi Klien ke sisi Pelayan dalam format rentetan JSON, dan adalah penting untuk menghantar rentetan JSON ke objek yang sesuai untuk mengakses data, kawalan pihak ketiga seperti grid UI Kendo, dan seterusnya. Dalam hal ini, terdapat sokongan terbina dalam UTF-8.
Kaedah Jobject.Parse() ialah kaedah kelas objek, dan kaedah ini digunakan untuk menghuraikan rentetan JSON ke dalam objek C#. Berdasarkan nilai kunci, ia menghuraikan data rentetan dan mendapatkan semula data menggunakan nilai kunci. Mari lihat format penghuraian JSON dan aliran kerja di bawah,
{ 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);
Dengan cara ini, kami boleh mendapatkan semula data.
Kaedah lain untuk menghuraikan JSON String ialah menggunakan JsonConvert.DeserializeObject(), yang tergolong dalam kelas JsonConvert, kaedah yang dipanggil JsonConvert.DeserializeObject() menukar rentetan JSON kepada objek C#. Rentetan JSON mencipta objek tersebut. Format yang digunakan untuk kaedah ini adalah seperti berikut,
JsonConvert.DeserilizeObject<CustomClassName>(JsonStringName);
Buat kelas yang dipanggil UserDetails dengan atribut First_Name dan Last_Name untuk memasukkan data dalam format JSON yang ditunjukkan di bawah untuk menerima hasil fungsi ini.
var get_jsonString = @"{'First_Name': 'Peter', 'Last_Name': 'Paul'}";
Untuk menukar data dengan cara ini seperti berikut,
var result = JsonConvert.DeserializeObject < UserDetails > (get_jsonString);
Untuk menghuraikan JSON String menggunakan JavaScriptSerialize(). Kaedah de-serialize () hanya digunakan pada versi .NET yang terkemudian; kaedah ini tidak akan digunakan untuk versi terdahulu; untuk tujuan itu, kita boleh menggunakan dua kaedah pertama untuk menukar rentetan JSON kepada objek C#. Format yang digunakan untuk kaedah ini adalah seperti berikut,
JavaScriptSerializer().Deserialize<CustomClassName>(jsonString); To create the class with UserDetails as follows, class UserDetails { public string userName { get; set; } public int userAge { get; set; } }
Untuk memasukkan butiran pengguna bagi penukaran daripada JSON kepada objek c# seperti berikut,
var input_json = @"{""name"":""Peter Paul"",""age"":49}";
Untuk menukar json kepada objek c# dengan menggunakan kaedah serializer() di bawah seperti berikut,
var resultObject = new JavaScriptSerializer().Deserialize<UserDetails>(input_json);
.NET Framework menyokong kelas untuk menyahsiri dan bersiri kepada JSON menggunakan yang kami gunakan dengan DataContractJsonSerializer. Dengan menggunakan kod di bawah, kami boleh menyahsiri objek JSON; untuk menggunakan kaedah tersebut, kita perlu melakukan beberapa prosedur seperti berikut,
Aplikasi mesti mempunyai rujukan pustaka System.Runtime.Serialization.
Seluruh kelas harus mempunyai DataContract dan atribut mesti mempunyai atribut DataMember.
[DataContract] public class USerDetails { [DataMember] public string First_Name { get; set; } [DataMember] public string Last_Name { get; set; } }
string get_json = "{ \"First_Name\":\"Smith\",\"LastName\":\"Rio\" }";
DataContractJsonSerializerjsonSerializer = newDataContractJsonSerializer(typeof(USerDetails));
Json.NET ialah rangka kerja terbaik untuk persekitaran kerja. BERSIH. Terdapat banyak faedah dan ciri JSON, seperti berikut,
Kaedah Jobject.Parse() ialah kaedah kelas objek dan kaedah ini digunakan untuk menghuraikan rentetan JSON ke dalam objek C#. Berdasarkan nilai kunci, ia menghuraikan data rentetan dan mendapatkan semula data menggunakan nilai kunci. Mari lihat pelaksanaan penghuraian JSON di bawah,
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"], ".")); } } }
Output:
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:
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.
Atas ialah kandungan terperinci JSON Parser dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!