Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menyahseri JSON dengan Kekunci Dinamik ke dalam Objek C# Menggunakan 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>
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:
<code class="language-csharp">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}"); }</code>
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!