Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menghilangkan objek JSON dengan pembina bukan lalai di json.net?
json.net menggunakan pembina lalai untuk menggunakan pembina lalai apabila objek derivatif. Walau bagaimanapun, jika anda mempunyai kelas dengan pembina lalai dan pembina bukan -default, anda mungkin menghadapi masalah ketika cuba menggunakan fungsi pembina bukan -default untuk rujukan.
Gunakan [JSONCONSTRUCTOR] Ciri -ciri:
Untuk menunjukkan bahawa json.net menggunakan pembina bukan -default, anda boleh menambah ciri [jsonconstructor]. Ciri ini mesti diletakkan pada pembina untuk digunakan untuk deeperularisasi. Contoh:
Pastikan nama parameter pembina sepadan dengan nama atribut JSON yang sepadan (abaikan kes yang lebih rendah). jsonconveter:
<code class="language-csharp">[JsonConstructor] public Result(int? code, string format, Dictionary<string, string> details = null) { // 构造函数逻辑 }</code>
Jika anda tidak dapat mengubah suai kelas atau tidak mahu menggunakan ciri -ciri, anda boleh membuat jsonconverrer tersuai untuk memproses secara manual derivatif.
Contoh:
Akhirnya, tambahkan penukar ke tetapan program bersiri sebelum deepertdialization:
Atas ialah kandungan terperinci Bagaimana untuk menghilangkan objek JSON dengan pembina bukan lalai di json.net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!