Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya boleh menafikan objek JSON dengan ID angka sebagai kunci ke dalam objek C# yang sangat ditaip?

Bagaimanakah saya boleh menafikan objek JSON dengan ID angka sebagai kunci ke dalam objek C# yang sangat ditaip?

Susan Sarandon
Lepaskan: 2025-01-30 00:12:09
asal
597 orang telah melayarinya

How Can I Deserialize a JSON Object with Numeric IDs as Keys into a Strongly Typed C# Object?

Menukar objek JSON dengan ID sebagai nama kepada jenis C# objek yang kuat

Apabila objek JSON dengan kekunci ID digital bersiri ke dalam objek jenis C# yang kuat, ia akan menghadapi cabaran. Pertimbangkan tindak balas JSON berikut:

Untuk membuat objek jenis yang kuat, anda telah menentukan kelas "PollsandSurveySstatistics", "AtmenceStatistics" dan "Sessionperformancestats". Walau bagaimanapun, masalahnya ialah struktur teratas objek C# anda "WebinarperformanceStats".
<code>{
    "5234592":{
    "pollsAndSurveys":{
        ...
    },
    "attendance":{
        ...
    }
    },
    "5235291":{
    "pollsAndSurveys":{
        ...
    },
    "attendance":{
        ...
    }
    }
}</code>
Salin selepas log masuk

Untuk menyelesaikan masalah ini, sila ubah objek akar dalam C# ke kamus:

Kaedah ini membolehkan JSON.NET untuk menetapkan objek JSON ke dalam kamus, di mana nombor ID digunakan sebagai kunci. Untuk memastikan jenis rawatan yang betul, anda boleh memperbaiki pernyataan seperti berikut:
<code class="language-csharp">var dictionary = JsonConvert.DeserializeObject<Dictionary<long, SessionPerformanceStats>>(theJsonResponse);</code>
Salin selepas log masuk
Salin selepas log masuk

Pengubahsuaian ini memastikan bahawa kunci ID dijelaskan sebagai integer yang panjang. Dengan menggunakan kamus sebagai objek root, anda boleh menggunakan kekunci ID untuk mengakses statistik prestasi sesi.
<code class="language-csharp">var dictionary = JsonConvert.DeserializeObject<Dictionary<long, SessionPerformanceStats>>(theJsonResponse);</code>
Salin selepas log masuk
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah saya boleh menafikan objek JSON dengan ID angka sebagai kunci ke dalam objek C# yang sangat ditaip?. 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