Rumah >pembangunan bahagian belakang >C++ >Mengapa Saya Mendapat Ralat 'Tidak Dapat Menyahsiri Objek JSON Semasa' Semasa Penyahserialisasian JSON?
Menyelesaikan masalah "Tidak Dapat Menyahserialisasikan Objek JSON" Ralat
Ralat penyahsirilan JSON yang biasa ini, "Tidak boleh menyahsiri objek JSON semasa," berpunca daripada percanggahan antara struktur data JSON dan jenis data yang dijangkakan dalam kod penyahsiran anda. Mesej ralat mencadangkan ketidakpadanan: JSON berkemungkinan objek, tetapi kod anda cuba menyahsirikannya sebagai tatasusunan atau sebaliknya.
Membetulkan Deserialisasi
Masalah timbul daripada percubaan untuk menyahsiri objek JSON ke dalam senarai. JSON yang disediakan jelas merupakan objek, bukan tatasusunan. Penyelesaiannya adalah untuk melaraskan penyahserialisasian anda agar sepadan dengan struktur JSON. Daripada menyahsiri menjadi List<RootObject>
, menyahsiri terus menjadi contoh RootObject
.
Kod Salah (Percubaan untuk menyahsiri ke dalam senarai):
<code class="language-csharp">List<RootObject> datalist = JsonConvert.DeserializeObject<List<RootObject>>(jsonString);</code>
Kod Dibetulkan (Deserialisasi menjadi satu RootObject):
<code class="language-csharp">RootObject data = JsonConvert.DeserializeObject<RootObject>(jsonString);</code>
Kod yang diperbetulkan ini menggambarkan dengan tepat struktur objek JSON, menghapuskan ralat penyahserialisasian. Ingat untuk memastikan kelas RootObject
anda dipetakan dengan betul ke sifat dalam objek JSON. Jika JSON mengandungi sifat yang memegang tatasusunan Datum
objek, kelas RootObject
anda harus mempunyai sifat yang sepadan (mis., List<Datum> data
) untuk menampung ini.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Tidak Dapat Menyahsiri Objek JSON Semasa' Semasa Penyahserialisasian JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!