Rumah > pembangunan bahagian belakang > C++ > Mengapa Array Deserialization JSON saya gagal apabila mengharapkan satu objek?

Mengapa Array Deserialization JSON saya gagal apabila mengharapkan satu objek?

Susan Sarandon
Lepaskan: 2025-01-27 05:06:08
asal
161 orang telah melayarinya

Why Does My JSON Array Deserialization Fail When Expecting a Single Object?

Ralat penyahserikatan tatasusunan JSON: sebab penyelesaian masalah

Apabila cuba menyahsiri data JSON, sentiasa pastikan struktur JSON konsisten dengan objek atau jenis koleksi yang dijangkakan. Dalam kes ini, ralat yang dihadapi ialah:

<code>“无法将当前JSON数组(例如[1,2,3])反序列化为类型'test.Model.RetrieveMultipleResponse',因为该类型需要一个JSON对象(例如{"name":"value"})才能正确反序列化。”</code>
Salin selepas log masuk

Fahami struktur JSON

JSON yang disediakan mewakili pelbagai objek RetrieveMultipleResponse:

<code>[
    { ... },
    { ... },
    { ... }
]</code>
Salin selepas log masuk

Struktur ini menunjukkan bahawa JSON ialah tatasusunan objek RetrieveMultipleResponse individu, bukan satu objek.

Padankan struktur JSON dengan jenis sasaran

Jenis sasaran penyahserikatan yang ditentukan ialah 'RetrieveMultipleResponse', yang menjangkakan satu objek. Walau bagaimanapun, struktur JSON ialah pelbagai objek. Untuk menyelesaikan ketidakpadanan ini, kita perlu menyahsiri JSON menjadi jenis koleksi yang boleh mengendalikan tatasusunan objek.

Penyelesaian: Nyahserialisasikan kepada jenis koleksi

Untuk menyahsiri tatasusunan JSON dengan betul, kita perlu menggunakan jenis koleksi sebagai jenis sasaran:

<code>var objResponse1 = JsonConvert.DeserializeObject<List<RetrieveMultipleResponse>>(JsonStr);</code>
Salin selepas log masuk

Kami berjaya menyahsiri tatasusunan objek RetrieveMultipleResponse dengan menukar jenis sasaran kepada jenis koleksi (cth. Senarai).

Atas ialah kandungan terperinci Mengapa Array Deserialization JSON saya gagal apabila mengharapkan satu objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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 terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan