use*_*572 2 .net c# datacontractjsonserializer
我正在使用.net datacontractjsonserializer将我的对象列表序列化为JSON字符串,但是有些公共属性我不想序列化,如何防止datacontractjsonserializer序列化这些属性?
谢谢
在使用.NET序列化程序进行序列化时,有两种方法:
白名单属性:
这是推荐方法.您可以使用该DataContract属性显式标记您的类.这样,只有标记有该DataMember属性的属性才会包含在输出中.
不要做一个你不想序列化的黑名单列表,最好做一个白名单并标记你想要序列化的所有属性.这样更安全,因为它要求开发人员在引入新属性时明确声明他们希望序列化属性.
黑名单属性:
如果您确实想要进行黑名单,可以使用IgnoreDataMember其他人指出的属性.在这种情况下,您不需要(也不应该)使用该DataContract属性标记您的类.而是标记要排除的属性IgnoreDataMember.
我希望这有助于解释选择及其优点/缺点.
编辑:扩大了我的答案
| 归档时间: |
|
| 查看次数: |
1032 次 |
| 最近记录: |