Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengecualikan Hartanah daripada Pensirilan JSON dengan Json.Net?

Bagaimanakah Saya Boleh Mengecualikan Hartanah daripada Pensirilan JSON dengan Json.Net?

Patricia Arquette
Patricia Arquetteasal
2025-01-23 16:39:08350semak imbas

How Can I Exclude Properties from JSON Serialization with Json.Net?

Cara untuk mengecualikan atribut daripada siri JSON menggunakan Json.Net

Apabila mensiri objek DTO menggunakan Json.Net, selalunya perlu mengecualikan atribut tertentu. Walaupun harta itu terbuka dan diperlukan di tempat lain dalam aplikasi, mengecualikannya daripada bersiri boleh mengoptimumkan pemindahan data dan mengurangkan saiz JSON bersiri.

Gunakan ciri [JsonIgnore]

Cara yang mudah ialah menggunakan atribut [JsonIgnore]. Dengan menganotasi sifat yang diperlukan dengan atribut ini, anda boleh menghalangnya daripada disertakan dalam output JSON bersiri. Contohnya:

<code class="language-csharp">public class Car
{
    [JsonIgnore]
    public DateTime LastModified { get; set; }
}</code>

Dalam contoh ini, atribut LastModified akan dikecualikan daripada perwakilan JSON bersiri bagi kelas Kereta.

Menggunakan atribut DataContract dan DataMember

Sebagai alternatif, anda boleh memanfaatkan ciri DataContract dan DataMember. Anda secara selektif boleh mengawal sifat yang disiri dengan menggunakan [DataContract] pada kelas dan [DataMember] pada sifat yang akan disertakan. Contohnya:

<code class="language-csharp">[DataContract]
public class Computer
{
    [DataMember]
    public string Name { get; set; }

    [DataMember]
    public decimal SalePrice { get; set; }
}</code>

Sifat yang tidak diberi anotasi dengan [DataMember] akan diabaikan daripada JSON bersiri.

Sila rujuk dokumentasi Json.Net untuk mendapatkan maklumat yang lebih komprehensif tentang teknologi ini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengecualikan Hartanah daripada Pensirilan 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