Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyahsiri Tatasusunan Objek JSON dengan Struktur Tidak Padan Menggunakan Json.net?

Bagaimana untuk Menyahsiri Tatasusunan Objek JSON dengan Struktur Tidak Padan Menggunakan Json.net?

DDD
Lepaskan: 2025-01-05 08:28:38
asal
555 orang telah melayarinya

How to Deserialize a JSON Object Array with Mismatched Structure Using Json.net?

Mensiri Tatasusunan Objek JSON dengan Json.net

Seseorang mungkin menghadapi situasi di mana struktur JSON yang dikehendaki berbeza sedikit daripada format yang dijangkakan. Isu ini timbul dalam kes khusus tatasusunan objek JSON, contohnya, seperti yang ditunjukkan di bawah:

[
   {
      "customer":{
         ...
      }
   },
   {
      "customer":{
         ...
      }
   }
]
Salin selepas log masuk

Malangnya, Json.net menjangkakan struktur yang lebih konvensional seperti ini:

{
    "customer": {
        ...
    }
}
Salin selepas log masuk

Oleh itu, bagaimanakah kita boleh mendamaikan ketidakkonsistenan ini?

Penyelesaian terletak pada mencipta model tersuai yang selaras dengan struktur JSON sebenar. Dengan mentakrifkan kelas seperti CustomerJson dan Customer, kami boleh memetakan sifat JSON ke medan tertentu:

public class CustomerJson
{
    [JsonProperty("customer")]
    public Customer Customer { get; set; }
}

public class Customer
{
    [JsonProperty("first_name")]
    public string Firstname { get; set; }

    [JsonProperty("last_name")]
    public string Lastname { get; set; }

    ...
}
Salin selepas log masuk

Dengan model tersuai ini, kami boleh menyahsiri JSON yang disediakan dengan mudah menggunakan:

JsonConvert.DeserializeObject<List<CustomerJson>>(json);
Salin selepas log masuk

Akhir sekali, untuk mendapatkan maklumat menyeluruh tentang pensirilan dan penyahsirilan JSON, rujuk dokumentasi rasmi.

Atas ialah kandungan terperinci Bagaimana untuk Menyahsiri Tatasusunan Objek JSON dengan Struktur Tidak Padan Menggunakan Json.net?. 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