Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menyahseri JSON dengan Kekunci Dinamik ke dalam Senarai Objek C#?

Bagaimana untuk Menyahseri JSON dengan Kekunci Dinamik ke dalam Senarai Objek C#?

Patricia Arquette
Patricia Arquetteasal
2025-01-19 19:23:08513semak imbas

How to Deserialize JSON with Dynamic Keys into a C# List of Objects?

Penyahserialisasian JSON kunci dinamik dalam C#

Dalam sesetengah kes, permintaan web mungkin mengembalikan respons JSON dengan kekunci dinamik, yang mewujudkan cabaran apabila menyahsiri objek C#. Sebagai contoh, pertimbangkan respons JSON berikut:

<code>{
"nasdaq_imbalance": 
{
    "name": "nasdaq_imbalance", 
    "group": "Market Data", 
    "description": null
},
"DXOpen IM": 
{
    "name": "DXOpen IM", 
    "group": "Daily",
    "description": null
}, 
"Float Shares": 
{
    "name": "Float Shares", 
    "group": "Daily", 
    "description": null
}, 
}</code>

Matlamatnya adalah untuk menyahsiri JSON ini ke dalam senarai objek jenis C#:

<code>public class Dataset    {
    public string name { get; set; } 
    public string group { get; set; } 
    public string description { get; set; } 
}</code>

Untuk melakukan ini, kami boleh memanfaatkan kuasa Json.NET. Coretan kod berikut menunjukkan cara:

<code class="language-csharp">Dictionary<string, Dataset> datasets = JsonConvert.DeserializeObject<Dictionary<string, Dataset>>(json);</code>

Barisan kod ini menyahsiri JSON ke dalam kamus dengan kuncinya ialah kunci dinamik dalam respons JSON (cth. "nasdaq_imbalance", "DXOpen IM", dll.) dan nilainya adalah contoh kelas Dataset.

Daripada kamus ini, anda boleh mengakses set data dengan mudah melalui kunci dinamiknya dan menggunakannya mengikut keperluan. Contohnya, untuk mengakses set data dengan kunci "nasdaq_imbalance":

<code class="language-csharp">Dataset nasdaqImbalanceDataset = datasets["nasdaq_imbalance"];</code>

Perlu diingat bahawa penyelesaian ini hanya berfungsi jika kekunci dinamik diketahui lebih awal. Jika kunci boleh berubah secara dinamik, pendekatan yang lebih kompleks mungkin diperlukan.

Atas ialah kandungan terperinci Bagaimana untuk Menyahseri JSON dengan Kekunci Dinamik ke dalam Senarai Objek C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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