JSON Parser dalam C#

PHPz
PHPzasal
2024-09-03 15:33:301100semak imbas

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,

  • 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 kemudian mendapatkan semula data menggunakan nilai kunci. Untuk kaedah parse, sintaksnya adalah seperti berikut,
Jobject.Parse(jsonStringName);
  • Kaedah lain untuk menghuraikan JSON String ialah menggunakan JsonConvert.DeserializeObject(), yang tergolong dalam kelas JsonConvert. Mari lihat sintaks di bawah,
JsonConvert.DeserilizeObject<CustomClassName>(JsonStringName);
  • Menghuraikan JSON String menggunakan JavaScriptSerialize(). Kaedah nyahsiri (), kaedah ini hanya digunakan pada versi terkini .NET; mari lihat sintaks di bawah
JavaScriptSerializer(). Deserialize<CustomClassName>(jsonString);

Bagaimana penghurai JSON berfungsi dalam C#?

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;
}
}
  • Kita mesti menggunakan kaedah WriteObject untuk mensirikan objek dan kaedah ReadObject untuk menyahsiri objek JSON.
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,

  • Ia ialah penukaran fleksibel JSON serializer antara objek .NET dan JSON.
  • Akan ada penulisan manual dan pembacaan JSON LINQ ke JSON
  • Ia berfungsi lebih pantas daripada .NET dan mempunyai penyeri JSON terbina dalam dengan data berprestasi tinggi.
  • Mudah membaca JSON dan menulis inden.
  • Penukaran antara JSON dan XML adalah mudah.

Contoh

Program #1

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:

JSON Parser dalam 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:

JSON Parser dalam 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.

Atas ialah kandungan terperinci JSON Parser dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Penapis Jadual Data C#Artikel seterusnya:Penapis Jadual Data C#