簡體   English   中英

防止使用datacontractjsonserializer C#序列化一個propery

[英]prevent a propery from being serialized using a datacontractjsonserializer C#

我正在使用.net datacontractjsonserializer將我的對象列表序列化為JSON字符串,但是有些公共屬性我不想序列化,如何防止datacontractjsonserializer序列化這些屬性?

謝謝

在使用.NET序列化程序進行序列化時,有兩種方法:

白名單屬性:

這是推薦方法。 使用DataContract屬性顯式標記您的類。 這樣,只有標記有DataMember屬性的屬性才會包含在輸出中。

不要做一個你不想序列化的黑名單列表,最好做一個白名單並標記你想要序列化的所有屬性。 這樣更安全,因為它要求開發人員在引入新屬性時明確聲明他們希望序列化屬性。

黑名單屬性:

如果您確實想要進行黑名單,可以使用其他人指出的IgnoreDataMember屬性。 在這種情況下,您不需要(也不應該)使用DataContract屬性標記您的類。 而是使用IgnoreDataMember標記要排除的IgnoreDataMember

我希望這有助於解釋選擇及其優點/缺點。

編輯:擴大了我的答案

我能想到有兩種選擇。

1-在屬性上嘗試使用[IgnoreDataMember]屬性。

2 - 不要使用[DataMember]屬性標記您的屬性。

希望能幫助到你

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM