Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyahseri JSON dengan Kekunci Dinamik ke dalam Objek C# Menggunakan Json.NET?

Bagaimana untuk Menyahseri JSON dengan Kekunci Dinamik ke dalam Objek C# Menggunakan Json.NET?

Mary-Kate Olsen
Lepaskan: 2025-01-19 19:31:09
asal
1041 orang telah melayarinya

How to Deserialize JSON with Dynamic Keys into a C# Object Using Json.NET?

Mengendalikan penyahserikatan JSON kunci dinamik dalam C#

Apabila menerima respons JSON dengan kekunci dinamik, menyahsirikannya menjadi objek C# dengan model data yang dipratentukan boleh menjadi rumit. Artikel ini membincangkan senario khusus di mana respons JSON mengandungi objek dengan kekunci dinamik.

Respons JSON berikut menggambarkan masalah:

<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>
Salin selepas log masuk

Matlamatnya adalah untuk menyahsiri JSON ini ke dalam senarai objek Set Data dengan sifat nama, kumpulan dan perihalan.

Penyelesaian: Gunakan Json.NET dan kamus

Json.NET menyediakan penyelesaian untuk menyahsiri JSON dengan kunci dinamik untuk objek C#. Dengan menggunakan JsonConvert.DeserializeObject<Dictionary<string, Dataset>>(json) anda boleh menyahsiri JSON ke dalam kamus yang kuncinya ialah kunci dinamik daripada respons JSON dan nilainya ialah objek Dataset.

Kod berikut menunjukkan penyelesaian ini:

using Newtonsoft.Json;

...

// 将JSON反序列化到一个包含动态键和Dataset对象的字典中
var json = @"{
""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
}, 
}";
var datasetDictionary = JsonConvert.DeserializeObject<Dictionary<string, Dataset>>(json);

// 使用动态键作为字典键访问Dataset对象
foreach (var dataset in datasetDictionary.Values)
{
    Console.WriteLine($"Dataset: {dataset.name}, Group: {dataset.group}, Description: {dataset.description}");
}
Salin selepas log masuk

Penyelesaian ini membolehkan anda menyahsiri JSON dengan kekunci dinamik pada objek C# sambil mengekalkan struktur nilai kunci asal.

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

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