@H_404_1@
解决方法
回答我自己的问题,但认为这可能对其他人有帮助……
我们最终使用自定义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; } }