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
Lepaskan: 2025-01-23 16:39:08
asal
349 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan