小编典典

如果为空,如何使用 json.net 忽略类中的属性

all

我正在使用Json.NET将一个类序列化为 JSON。

我有这样的课:

class Test1
{
    [JsonProperty("id")]
    public string ID { get; set; }
    [JsonProperty("label")]
    public string Label { get; set; }
    [JsonProperty("url")]
    public string URL { get; set; }
    [JsonProperty("item")]
    public List<Test2> Test2List { get; set; }
}

我只想在is时向属性添加JsonIgnore()属性。如果它不为空,那么我想将它包含在我的 json
中。Test2List``Test2List``null


阅读 115

收藏
2022-03-04

共1个答案

小编典典

按照 James Newton King 的说法:如果您自己创建序列化程序而不是使用 JavaScriptConvert
NullValueHandling那么您可以将其设置为忽略。

这是一个示例:

JsonSerializer _jsonWriter = new JsonSerializer {
                                 NullValueHandling = NullValueHandling.Ignore
                             };

或者,正如@amit 所建议的那样

JsonConvert.SerializeObject(myObject, 
                            Newtonsoft.Json.Formatting.None, 
                            new JsonSerializerSettings { 
                                NullValueHandling = NullValueHandling.Ignore
                            });
2022-03-04