Kunci Dinamik dalam Penyahserikatan JSON
Apabila berurusan dengan data JSON yang mengandungi kunci dinamik, mengakses sifat objek boleh menjadi mencabar. Pertimbangkan data berikut:
{ "users" : { "100034" : { "name" : "tom", "state" : "WA", "id" : "cedf-c56f-18a4-4b1" }, "10045" : { "name" : "steve", "state" : "NY", "id" : "ebb2-92bf-3062-7774" }, "12345" : { "name" : "mike", "state" : "MA", "id" : "fb60-b34f-6dc8-aaf7" } } }
Dalam objek JSON ini, kekuncinya ialah rentetan angka, menjadikannya sukar untuk menentukan kelas dengan nama sifat statik. Untuk menyelesaikannya, kami boleh memanfaatkan Kamus
Struktur dan Penyahserikatan Kelas
Kami mentakrifkan kelas berikut:
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; } }
Kemudian, kita boleh menyahsiri data JSON seperti itu:
RootObject obj = JsonConvert.DeserializeObject<RootObject>(json);
Ini mencipta contoh RootObject dengan Kamus
Mengakses Sifat Objek
Kini kami boleh mengakses sifat objek menggunakan kekunci kamus. Kod berikut berulang melalui pengguna:
foreach (string key in root.users.Keys) { User user = root.users[key]; // Access properties using user.name, user.state, etc. }
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
Pendekatan ini membolehkan kami menyahsiri data JSON dengan kekunci dinamik dan mengakses sifat objek dengan lancar.
Atas ialah kandungan terperinci Bagaimana untuk Menyahseri JSON dengan Kekunci Dinamik dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!