Rumah >pembangunan bahagian belakang >C++ >Bagaimana saya boleh mengabaikan sifat null apabila bersiri JSON dengan json.net?

Bagaimana saya boleh mengabaikan sifat null apabila bersiri JSON dengan json.net?

Patricia Arquette
Patricia Arquetteasal
2025-01-28 17:21:08300semak imbas

How Can I Ignore Null Properties When Serializing JSON with Json.NET?

serialization json.net json mengabaikan atribut kosong

Apabila menggunakan json.net untuk menukar objek ke JSON, ia mungkin perlu mengecualikan atribut dengan nilai kepada NULL. Ini amat berguna apabila beberapa atribut harus dimasukkan dalam output bersiri hanya apabila mereka mempunyai nilai yang tidak berkepentingan.

pemprosesan atribut adat

Untuk mengawal cara mengendalikan atribut nilai kosong semasa bersiri, JSON.NET menyediakan atribut JSONPROPRY. Dengan menetapkan sifat NullValueHandling atribut ini kepada NullValueHandling.Ignore, anda boleh menghalang atribut daripada mengandungi keadaan null dalam output JSON. Contohnya, dalam contoh yang disediakan, anda boleh menambah kod berikut ke Test1:

Melalui pelarasan ini, ia termasuk dalam perwakilan JSON hanya apabila Test2List mengandungi nilai -nilai yang tidak berkepentingan. Jika test2list adalah batal, ia akan mengabaikannya sepenuhnya.

alternatif
<code class="language-csharp">[JsonProperty("test2_list", NullValueHandling = NullValueHandling.Ignore)]
public List<test2> Test2List { get; set; }</code>

Di samping atribut JSONProperty, JSON.NET juga menyediakan atribut JSONObject yang boleh digunakan untuk kelas untuk mengkonfigurasi semua atribut semasa tempoh bersiri. Tetapkan itemNullValueHandling Property of JsonObject to nullValueHandling.Ignore boleh dicapai sebagai hasil menggunakan atribut yang sama untuk memohon nullValueHandling.ignore untuk penggunaan jsonproperty.

Atas ialah kandungan terperinci Bagaimana saya boleh mengabaikan sifat null apabila bersiri JSON dengan json.net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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