Pengendalian fleksibel penyahserikatan JSON dengan kekunci dinamik menggunakan kamus
Dalam dunia JSON, menghadapi rentetan JSON dengan kekunci akar yang dinamik dan tidak dapat diramalkan boleh menimbulkan cabaran apabila menyahsiri objek. Inilah cara untuk menyelesaikan masalah ini menggunakan kaedah kamus.
Sebagai contoh, pertimbangkan rentetan JSON berikut:
<code>{ "daily": { "1337990400000": 443447, "1338076800000": 444693, "1338163200000": 452282, "1338249600000": 462189, "1338336000000": 466626 } }</code>
Memandangkan kunci adalah dinamik, menggunakan JavascriptSerializer dengan struktur kelas tidak mencukupi di sini. Penyelesaian yang lebih fleksibel ialah menyahsiri rentetan JSON ke dalam kamus, yang membolehkan kami mengakses kekunci dinamik dan nilai yang sepadan dengan mudah.
<code class="language-csharp">var deser = new JavaScriptSerializer().Deserialize<Dictionary<string, Dictionary<string, int>>>(val);</code>
Baris ini mencipta kamus deser dengan kekuncinya adalah rentetan dan nilainya ialah kamus dengan kunci rentetan dan nilai integer. Ia secara berkesan memetakan kunci dinamik dalam rentetan JSON ke kamus perantaraan.
Untuk mengakses data tertentu kita boleh menggunakan kod berikut:
<code class="language-csharp">var justDaily = deser["daily"];</code>
Pembolehubah justDaily kini mengandungi kamus yang mewakili objek "harian" daripada rentetan JSON. Kita boleh mengulangi kekunci dan nilainya untuk mengekstrak kunci dinamik dan nilai yang sepadan.
<code class="language-csharp">foreach (string key in justDaily.Keys) Console.WriteLine(key + ": " + justDaily[key]);</code>
Pendekatan ini membolehkan kami mengendalikan rentetan JSON dengan kekunci akar dinamik dengan menukarnya kepada struktur kamus dan memberikan fleksibiliti semasa mengakses data. Anda boleh memanfaatkan sepenuhnya kuasa kamus untuk menyahsiri JSON dengan mudah walaupun kuncinya tidak dapat diramalkan.
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!