Tukar rentetan JSON kepada objek C#
Menukar rentetan JSON kepada objek dalam C# mungkin kelihatan seperti tugas yang mudah, tetapi kadangkala ia boleh menjadi rumit. Mari kita selami masalah biasa yang timbul semasa penukaran dan berikan penyelesaian.
Soalan:
Pembangun cuba menggunakan kelas JavaScriptSerializer untuk menukar rentetan JSON asas kepada objek. Walau bagaimanapun, objek yang terhasil masih tidak ditentukan.
<code class="language-csharp">JavaScriptSerializer json_serializer = new JavaScriptSerializer(); object routes_list = json_serializer.DeserializeObject("{ \"test\":\"some data\" }");</code>
Masalahnya ialah JavaScriptSerializer mempunyai had apabila menyahsiri struktur JSON yang kompleks. Ia menyukarkan untuk membuat kesimpulan jenis objek sasaran, selalunya membawa kepada hasil yang tidak ditentukan.
Penyelesaian:
Untuk mengatasi masalah ini, disyorkan untuk menggunakan perpustakaan Newtonsoft.Json. Pustaka ini menyediakan penyelesaian yang berkuasa dan serba boleh untuk pensirilan dan penyahsirilan JSON.
<code class="language-csharp">using Newtonsoft.Json; ... var result = JsonConvert.DeserializeObject<T>(json);</code>
Di sini, kaedah JsonConvert.DeserializeObject menyahsiri rentetan JSON menjadi objek jenis T. Parameter jenis T harus sepadan dengan struktur rentetan JSON. Pendekatan ini memastikan bahawa jenis objek yang betul dicipta, dengan itu menghalang hasil yang tidak ditentukan.
Dengan menggunakan perpustakaan Newtonsoft.Json, pembangun boleh menukar rentetan JSON ke dalam objek C# dengan lancar, tanpa mengira kerumitannya. Pustaka ini menyediakan penyelesaian yang boleh dipercayai dan cekap yang memudahkan proses pertukaran data antara aplikasi.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan JSON ke Objek C# dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!