Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengecualikan Hartanah daripada Pensirian JSON menggunakan Json.Net?

Bagaimana untuk Mengecualikan Hartanah daripada Pensirian JSON menggunakan Json.Net?

DDD
DDDasal
2025-01-23 16:34:10257semak imbas

How to Exclude Properties from JSON Serialization using Json.Net?

Mengawal Pensirilan JSON dengan Json.Net

Apabila menggunakan Objek Pemindahan Data (DTO) dalam pengaturcaraan berorientasikan objek, mengecualikan sifat secara terpilih daripada siri JSON adalah penting untuk keselamatan data dan muatan JSON yang cekap. Json.Net menawarkan kaedah yang fleksibel untuk mencapai matlamat ini.

Satu pendekatan biasa ialah menggunakan atribut [JsonIgnore]. Atribut ini, digunakan pada harta awam, menghalang kemasukannya semasa penyirian sambil mengekalkan kebolehaksesannya dalam kod anda.

Contoh menggunakan [JsonIgnore]:

<code class="language-csharp">public class MyClass
{
    public string Property1 { get; set; }
    [JsonIgnore]
    public string Property2 { get; set; }
}</code>

Property2 akan diabaikan daripada JSON bersiri.

Kaedah lain melibatkan memanfaatkan atribut DataContract dan DataMember daripada System.Runtime.Serialization. Hanya sifat yang bertanda [DataMember] akan disirikan.

Contoh menggunakan DataContract dan DataMember:

<code class="language-csharp">[DataContract]
public class MyClass2
{
    [DataMember]
    public string Property1 { get; set; }
    public string Property2 { get; set; }
}</code>

Di sini, Property2 dikecualikan kerana ia tidak mempunyai atribut [DataMember].

Untuk butiran komprehensif dan senario lanjutan, rujuk sumber berguna ini: https://www.php.cn/link/d203bbe1b9e242a034b376bafda15a99

Atas ialah kandungan terperinci Bagaimana untuk Mengecualikan Hartanah daripada Pensirian JSON menggunakan 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