[英]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.