反序列化时忽略字段,但序列化c#Newtonsoft.Json时不忽略字段

时间:2020-10-29 15:44:32

标签: c# json json.net

我试图让DeserializeObject忽略ignore字段,但是在调用SerializeObject时显示它(因此,使用下面的代码,DeserializeObject不会引发错误,并且'result'将包含该字段)。

我尝试使用JsonIgnore,但随后在反序列化和序列化时均会忽略该字段,而我仅在反序列化时才需要忽略该字段。

public class Temp
{
    [JsonProperty("show")]
    public string Show { get; set; }

    [JsonProperty("ignore")]
    public bool? Ignore { get; set; }
}

class Temp 
{
    public void Main() 
    {
        var s = "{\"show\":\"show\", \"ignore\": \"asd\"}";

        var n = JsonConvert.DeserializeObject<Temp>(s);
        n.Ignore = true;

        var result = JsonConvert.SerializeObject(n);
    }
}
    

0 个答案:

没有答案