Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyahseri JSON dengan Kekunci Dinamik Menggunakan Kamus dalam C#?

Bagaimana untuk Menyahseri JSON dengan Kekunci Dinamik Menggunakan Kamus dalam C#?

Patricia Arquette
Lepaskan: 2025-01-07 12:47:41
asal
998 orang telah melayarinya

How to Deserialize JSON with Dynamic Keys Using Dictionaries in C#?

Nyahsiri JSON dengan Kekunci Dinamik Menggunakan Kamus

Apabila bekerja dengan data JSON yang mengandungi objek dengan nama kunci dinamik, ia menjadi mencabar untuk mengakses terus sifat objek. Ini kerana penyirian objek biasa memerlukan sifat kelas yang dipratentukan.

Untuk mengatasinya, kita boleh menggunakan Kamus struktur, di mana rentetan mewakili nama kunci dinamik, dan T ialah kelas yang memegang data objek. Pendekatan ini membolehkan penyahserialisasian fleksibel objek dengan sifat yang berbeza-beza.

class RootObject
{
    public Dictionary<string, User> users { get; set; }
}

class User
{
    public string name { get; set; }
    public string state { get; set; }
    public string id { get; set; }
}
Salin selepas log masuk

Menggunakan kelas di atas dan data JSON yang diberikan:

RootObject obj = JsonConvert.DeserializeObject<RootObject>(json);
Salin selepas log masuk

Kami kini boleh mengakses dan mengulangi yang dinyahsiri objek:

foreach (string key in root.users.Keys)
{
    User user = root.users[key];
    // Access user properties here
}
Salin selepas log masuk

Output:

key: 10045
name: steve
state: NY
id: ebb2-92bf-3062-7774

key: 12345
name: mike
state: MA
id: fb60-b34f-6dc8-aaf7

key: 100034
name: tom
state: WA
id: cedf-c56f-18a4-4b1
Salin selepas log masuk

Dengan memanfaatkan kamus, kami boleh menyahsiri data JSON dengan berkesan dengan nama kunci dinamik dan mengakses sifat objek dengan mudah.

Atas ialah kandungan terperinci Bagaimana untuk Menyahseri JSON dengan Kekunci Dinamik Menggunakan Kamus dalam C#?. 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