首页 / 问答 / C#/.NET/.NET Core应用程序编程开发中序列化对象时如何忽略某些值为null的属性呢?

C#/.NET/.NET Core应用程序编程开发中序列化对象时如何忽略某些值为null的属性呢?

.NET C# 序列化 .NET Core JSON 2.35K 次浏览
0

C#/.NET/.NET Core应用程序编程开发中序列化对象时如何忽略某些值为null的属性呢?
比如现在定义了一个名为Test1.cs的类,如下:

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; }
}

现在需要针对属性Test2List进行null的处理,当Test2List的值为null的时候,序列化不包含这个属性,使用Json.NET应该如何设置呢?

回复 [×]
提交评论
请输入评论内容

4 个回答

  • 0

    Json.NET提供了忽略null值的属性,你可以设置JsonPropertyNullValueHandling选项为NullValueHandling.Ignore,如下:

    Rector的个人主页

    Rector

    2020-04-24 回答

    • 0

      如果在JsonConvert.SerivalizeObject()方法中设置参数,如下:

      Rector的个人主页

      Rector

      2020-04-24 回答

      • 0

        如果在.NET Core 2.0及以下的版本中,你还可以在Startup.cs文件中设置全局的Json.NETnull处理程序,如下:

        Rector的个人主页

        Rector

        2020-04-24 回答

        • 0

          如果在.NET Core 3.0及以上的版本中使用System.Text.Json,可以设置如下:

          Rector的个人主页

          Rector

          2020-04-24 回答

          我来回答