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

<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>
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!

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