取消@json忽略特定方法

问题描述

是否有一种方法可以根据方法更改JsonIgnore行为?

在研究的同时,我发现了以下问题。但是我想在.net中做类似的事情 .net中有办法吗?

How to cancel @jsonIgnore in specific method

解决方法

对于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(源);