Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menyahserialisasi Objek JSON Bersarang untuk Mengekstrak Senarai Kod Kerja?

Bagaimanakah Saya Boleh Menyahserialisasi Objek JSON Bersarang untuk Mengekstrak Senarai Kod Kerja?

DDD
Lepaskan: 2025-01-19 22:11:17
asal
522 orang telah melayarinya

How Can I Deserialize Nested JSON Objects to Extract a List of Job Codes?

Mengendalikan penyahserialisasian objek JSON bersarang

Dalam kod anda, anda menghadapi masalah menyahsiri data JSON yang mengandungi objek bersarang. Panduan ini akan menangani isu ini dan menyediakan penyelesaian untuk mendapatkan senarai kod kerja daripada JSON yang disediakan.

Struktur kelas tidak konsisten

Pada mulanya, anda cuba menyahsiri keseluruhan respons JSON ke dalam satu kelas JobCode, mengabaikan bahawa terdapat berbilang kod kerja di bawah kekunci "kod kerja". Untuk menyelesaikan masalah ini, kita perlu mencipta kelas yang sepadan dengan struktur JSON.

Gunakan kamus untuk mengendalikan kunci berubah

Kunci untuk atribut "jobcodes" dalam JSON ialah nilai rentetan ("1" dan "2" dalam contoh anda). Untuk menampung kebolehubahan ini, kami menggunakan Dictionary<string, JobCode> dan bukannya hanya List<JobCode>. Kamus ini membolehkan kami mendapatkan semula kod kerja menggunakan kunci masing-masing.

Struktur kelas dikemas kini

Berikut ialah struktur kelas yang diubah suai sejajar dengan JSON:

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

public class Results
{
    [JsonProperty("jobcodes")]
    public Dictionary<string, JobCode> JobCodes { get; set; }
}

public 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

Penyahserialisasian yang dikemas kini

Dengan kelas ini, anda boleh menyahsiri JSON menggunakan kod berikut:

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

Ini akan mengisi pembolehubah obj dengan data JSON yang dinyahsiri, membolehkan anda mengakses senarai kod kerja melalui obj.Results.JobCodes.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahserialisasi Objek JSON Bersarang untuk Mengekstrak Senarai Kod Kerja?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan