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;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2227 次 |
| 最近记录: |