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

Bagaimana untuk Menyahseri JSON Bersarang dengan Kekunci Dinamik ke dalam Kelas C#?

Barbara Streisand
Lepaskan: 2025-01-19 21:51:11
asal
388 orang telah melayarinya

How to Deserialize Nested JSON with Dynamic Keys into C# Classes?

Derialisasikan JSON bersarang kepada kelas C#

Deserialisasi respons JSON ke dalam kelas C# Perkara utama adalah untuk memadankan struktur kelas dengan keseluruhan data JSON. Berikut ialah penyelesaian tentang cara menyahsiri JSON yang diberikan:

Struktur JSON:

<code>{
    "results": {
        "jobcodes": {
            "1": { ... },
            "2": { ... },
            ...
        }
    }
}</code>
Salin selepas log masuk

Soalan:

Anda tidak mengambil kira kekunci dinamik ("1" dan "2") dalam objek "kod kerja" bersarang.

Penyelesaian:

Untuk mengendalikan objek dengan kekunci dinamik, gunakan Dictionary<string, JobCode>:

<code class="language-csharp">class Results
{
    [JsonProperty("jobcodes")]
    public Dictionary<string, JobCode> JobCodes { get; set; }
}</code>
Salin selepas log masuk

Lengkapkan struktur kelas:

<code class="language-csharp">class RootObject
{
    [JsonProperty("results")]
    public Results Results { get; set; }
}

class JobCode
{
    [JsonProperty("_status_code")]
    public string StatusCode { get; set; }
    [JsonProperty("_status_message")]
    public string StatusMessage { get; set; }
    [JsonProperty("id")]
    public string Id { get; set; }
    [JsonProperty("name")]
    public string Name { get; set; }
}</code>
Salin selepas log masuk

Penyahserikatan:

Nyahserialisasikan JSON kepada kelas RootObject:

<code class="language-csharp">RootObject obj = JsonConvert.DeserializeObject<RootObject>(jsonResponse);</code>
Salin selepas log masuk

Keputusan:

Anda boleh mendapatkan obj.Results.JobCodes.Values dengan melawati List<JobCode>. Setiap JobCode akan mempunyai nilai atribut yang sepadan daripada JSON.

Atas ialah kandungan terperinci Bagaimana untuk Menyahseri JSON Bersarang dengan Kekunci Dinamik ke dalam Kelas C#?. 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