在特定方法中取消@jsonIgnore
Posted
技术标签:
【中文标题】在特定方法中取消@jsonIgnore【英文标题】:cancel @jsonIgnore in specific method 【发布时间】:2020-12-14 14:40:23 【问题描述】:有没有办法根据方法改变 JsonIgnore 行为?
在研究时,我发现了以下问题。但我想在.net 中做类似的事情 有没有办法在 .net 中做到这一点?
How to cancel @jsonIgnore in specific method
【问题讨论】:
【参考方案1】:对于 Newtonsoft.Json,最简单的解决方案就是包含一个方法 ShouldSerializeFieldName,其中 FieldName 是您的字段名称。 例如,仅当其长度小于 500 时才会包含描述字段:
public class QClass
public string Title get; set;
public string Description get; set;
public bool ShouldSerializeDescription()
return Description.Length<500;
....
var 结果 = JsonConvert.SerializeObject(source);
【讨论】:
在这个例子中,应该为所有的路由/方法设置序列化。我的问题是我们可以根据方法/控制器/路由来改变它 @katie77 - 那么请edit 提出您的问题并说明您的确切要求,最好使用minimal reproducible example。 有没有办法根据方法改变 JsonIgnore 行为? 很模糊,这个问题似乎解决了这个请求。由于您正在向c# 社区寻求帮助,因此可能能够帮助您的人可能无法从未直接包含在您的问题中的链接问题中了解 Java 序列化的详细信息。以上是关于在特定方法中取消@jsonIgnore的主要内容,如果未能解决你的问题,请参考以下文章