Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menyahseri JSON dengan Kekunci Dinamik dalam C#?

Bagaimanakah Saya Boleh Menyahseri JSON dengan Kekunci Dinamik dalam C#?

Patricia Arquette
Lepaskan: 2025-01-17 10:27:09
asal
561 orang telah melayarinya

How Can I Deserialize JSON with Dynamic Keys in C#?

Mengendalikan penyahserialisasian JSON bagi kunci dinamik dalam C#

Apabila memproses data JSON, menemui kunci dinamik boleh menyebabkan cabaran penyahserikatan. Pertimbangkan rentetan JSON berikut:

<code class="language-json">{
    "daily": {
        "1337990400000": 443447,
        "1338076800000": 444693,
        "1338163200000": 452282,
        "1338249600000": 462189,
        "1338336000000": 466626
    }
}</code>
Salin selepas log masuk

Dalam rentetan ini, kunci "harian" adalah statik, tetapi kunci pendasar adalah dinamik dan tidak boleh diramalkan semasa penyahserikatan. Untuk menyelesaikan masalah ini, kita boleh memanfaatkan kuasa objek dinamik.

Menggunakan kelas JavaScriptSerializer, kita boleh mencipta objek dinamik seperti yang ditunjukkan di bawah:

<code class="language-csharp">dynamic deser = new JavaScriptSerializer().Deserialize<dynamic>(val);</code>
Salin selepas log masuk

Penyahserialisasian ini akan mencipta objek dinamik deser yang boleh mengakses sifat JSON. Untuk mengakses data harian kita boleh menggunakan pernyataan berikut:

<code class="language-csharp">dynamic justDaily = deser["daily"];</code>
Salin selepas log masuk
Objek

justDaily kini mewakili data harian dan kunci dinamiknya boleh diakses. Untuk mengulangi kekunci dan nilainya, kita boleh menggunakan kod berikut:

<code class="language-csharp">foreach (string key in justDaily.Keys)
    Console.WriteLine(key + ": " + justDaily[key]);</code>
Salin selepas log masuk

Ini akan mengeluarkan kunci dinamik dan nilai sepadannya. Dengan menggunakan objek dinamik, kami boleh menyahsiri data JSON dengan cekap walaupun apabila kunci dinamik ditemui.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahseri JSON dengan Kekunci Dinamik 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