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!