Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menyahseri JSON Bersarang dengan Kekunci Dinamik ke dalam Kelas C#?
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>
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>
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>
Penyahserikatan:
Nyahserialisasikan JSON kepada kelas RootObject
:
<code class="language-csharp">RootObject obj = JsonConvert.DeserializeObject<RootObject>(jsonResponse);</code>
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!