Rentetan JSON ke masalah penukaran objek C# dan penyelesaian
Apabila cuba menghuraikan rentetan JSON ke dalam objek C#, pembangun menghadapi masalah: objek yang terhasil sentiasa tidak ditentukan. Coretan kod yang berkaitan adalah seperti berikut:
<code class="language-csharp">JavaScriptSerializer json_serializer = new JavaScriptSerializer(); object routes_list = json_serializer.DeserializeObject("{ \"test\":\"some data\" }");</code>
Penyelesaian: Gunakan Newtonsoft.Json untuk penyahserialisasian objek
Kunci untuk menyelesaikan masalah ini ialah menggunakan perpustakaan Newtonsoft.Json. Pustaka ini menyediakan kaedah yang lebih berkuasa dan boleh dipercayai untuk menghuraikan JSON daripada JavaScriptSerializer terbina dalam. Kod berikut menunjukkan cara menggunakan Newtonsoft.Json:
<code class="language-csharp">using Newtonsoft.Json; ... var result = JsonConvert.DeserializeObject<T>(json);</code>
<code>其中 T 是 <br></br>与您的 JSON 字符串匹配的 <您的对象类型></code>
Dalam kod yang diubah suai ini, JsonConvert.DeserializeObject digunakan untuk menukar rentetan JSON kepada objek C# jenis T yang ditentukan, sekali gus menyelesaikan masalah undefined route_list objek dan memastikan rentetan JSON berjaya ditukar kepada objek yang diperlukan.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan JSON String kepada Isu Penukaran Objek C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!