JSON.NET – IgnoreDataMember的只读属性和支持
发布时间:2020-12-16 18:41:15 所属栏目:百科 来源:网络整理
导读:JSON.NET是否支持IgnoreDataMember属性,还是必须使用JsonIgnore?这是否会在未来得到支持? 另外我发现JSON.NET正在序列化只获取的属性 – 这是预期的行为吗?这是我们可以在串行器级别关闭的东西吗? 解决方法 回答我自己的问题,但认为这可能对其他人有帮助
JSON.NET是否支持IgnoreDataMember属性,还是必须使用JsonIgnore?这是否会在未来得到支持?
另外我发现JSON.NET正在序列化只获取的属性 – 这是预期的行为吗?这是我们可以在串行器级别关闭的东西吗? 解决方法
回答我自己的问题,但认为这可能对其他人有帮助……
我们最终使用自定义IContractResolver实现了这一点.我们想要DefaultContractResolver的功能,所以我们从中派生出来然后调整CreateProperty来忽略我们并不真正关心序列化的东西.例如. internal class IgnoreDataMemberContractResolver : DefaultContractResolver { protected override JsonProperty CreateProperty(MemberInfo member,MemberSerialization memberSerialization) { JsonProperty property = base.CreateProperty(member,memberSerialization); property.Ignored |= member.GetCustomAttributes(typeof(IgnoreDataMemberAttribute),true).Length > 0; return property; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |