json.net menggunakan data JSON untuk bersiri ke C#
Data JSON Circularized ke objek C#mungkin mencabar, terutamanya apabila struktur JSON mungkin mengandungi atribut yang hilang. Artikel ini menyediakan penyelesaian.
adegan:
Memandangkan kelas C#dengan pelbagai atribut , beberapa di antaranya mungkin tidak muncul dalam data JSON untuk bersiri. Matlamatnya adalah untuk mengisi data contoh
dari JSON tanpa perlu mengekstrak setiap nilai secara manual.
MyAccount
Amalan terbaik: MyAccount
Kaedah yang disyorkan adalah menggunakan perpustakaan pesanan belakang JSON, seperti json.net. JSON.NET menyediakan kelas , yang boleh mengubah data JSON kembali ke objek jenis yang kuat.
untuk menggunakan json.net:
JsonConvert
Buat kelas C#yang mewakili struktur data JSON. Dalam contoh ini, ia adalah .
MyAccount
MyAccount
<code class="language-csharp">var rootObject = JsonConvert.DeserializeObject<MyAccount>(json);</code>
Jika atribut ini tidak wujud dalam data JSON, atribut ini menetapkan nilai lalai atribut
kepada "0001-01-01T00: 00: 00". Ini memastikan bahawa walaupun terdapat bidang tertentu, contoh dapat mengisi data yang sah. DefaultValue
PasswordExpire
Contoh:
<code class="language-csharp">[JsonProperty(PropertyName = "passwordexpired")] [DefaultValue(typeof(DateTime), "0001-01-01T00:00:00")] public DateTime PasswordExpire { get; set; }</code>
Contoh Kategori JSON dan PasswordExpire
yang disediakan dalam Masalah Penggunaan: MyAccount
Dengan menggunakan atribut json.net dan , walaupun struktur JSON mengandungi kekurangan atribut, anda dapat menyenaraikan data JSON dengan berkesan ke objek C#.
Atas ialah kandungan terperinci Bagaimana untuk Menyahseri Data JSON ke dalam C# dengan Atribut Hilang Menggunakan JSON.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!