Penyahserialisasian tatasusunan JSON ke kelas yang dijangkakan gagal
Mesej ralat menunjukkan bahawa rentetan JSON yang dinyahsiri ialah tatasusunan dan jenis sasaran penyahsirilan RetrieveMultipleResponse
menjangkakan objek JSON. Di bawah ialah penerangan tentang masalah dan penyelesaian yang mungkin:
Soalan:
Rentetan JSON yang disediakan ialah tatasusunan objek JSON, seperti yang ditunjukkan oleh kurungan segi empat sama []
:
<code>[ { ... }, { ... }, { ... } ]</code>
Walau bagaimanapun, kelas RetrieveMultipleResponse
menjangkakan satu objek JSON kerana atributnya (atribut, nama dan ID) ditakrifkan sebagai nilai tunggal dan bukannya tatasusunan.
Penyelesaian:
Untuk menyelesaikan masalah ini, anda boleh mengubah suai kod anda untuk menyahsiri rentetan JSON menjadi koleksi RetrieveMultipleResponse
objek dan bukannya satu objek. Berikut ialah contoh:
<code class="language-csharp">var objResponse1 = JsonConvert.DeserializeObject<List<RetrieveMultipleResponse>>(JsonStr);</code>
Dengan menggunakan List<RetrieveMultipleResponse>
, anda menunjukkan bahawa rentetan JSON hendaklah terdiri daripada tatasusunan RetrieveMultipleResponse
objek, membolehkan proses penyahserikatan berjaya.
Atas ialah kandungan terperinci Mengapa Penyahserialisasian JSON Saya Gagal Apabila Susunan Dijangka Daripada Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!