Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menyahseri JSON dengan Susunan Tidak Konsisten dan Struktur Objek Tunggal untuk Harta Yang Sama?

Bagaimanakah Saya Boleh Menyahseri JSON dengan Susunan Tidak Konsisten dan Struktur Objek Tunggal untuk Harta Yang Sama?

DDD
Lepaskan: 2025-01-12 19:11:43
asal
977 orang telah melayarinya

How Can I Deserialize JSON with Inconsistent Array and Single Object Structures for the Same Property?

Mengendalikan koleksi bercampur dan objek tunggal dalam data JSON

Teknik penyahserikatan tradisional mungkin menghadapi kesukaran apabila menyahsiri data JSON yang mengandungi tatasusunan dan objek tunggal dengan sifat yang sama. Artikel ini membincangkan senario khusus di mana respons JSON yang dikembalikan oleh Facebook membentangkan data media kadangkala sebagai objek dan kadangkala sebagai tatasusunan.

Untuk menyelesaikan masalah ini, anda boleh menggunakan penukar JSON tersuai. Penukar ini bertindak sebagai perantara antara proses penyahserikatan lalai JSON.NET dan kelas sasaran. Dalam kes ini, kelas sasaran ialah FacebookAttachment, yang mengandungi harta Senarai yang dipanggil Media.

Penukar tersuai FacebookMediaJsonConverter mengatasi kaedah ReadJson untuk mengendalikan format data yang tidak konsisten. Secara khusus, ia menyemak JsonReader.TokenType dan melakukan penyahserikatan dengan sewajarnya:

<code>public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
  if (reader.TokenType == JsonToken.StartArray)
    return serializer.Deserialize<List<facebookmedia>>(reader);
  else
    return null;
}</code>
Salin selepas log masuk

Jika tatasusunan ditemui, penukar akan mengembalikan tatasusunan yang dinyahsiri. Walau bagaimanapun, jika satu objek ditemui, ia mengembalikan null. Ini kerana harta sasaran Media mengharapkan senarai.

Dengan menggunakan penukar ini, proses penyahserikatan boleh menyesuaikan diri dengan pemformatan yang tidak konsisten dalam respons JSON. Walau bagaimanapun, perlu diingatkan bahawa kaedah ini tidak mempertimbangkan semua kemungkinan perubahan dalam struktur JSON dan mungkin tidak sesuai untuk semua senario.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahseri JSON dengan Susunan Tidak Konsisten dan Struktur Objek Tunggal untuk Harta Yang Sama?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan