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

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

.NET C# 序列化 .NET Core JSON 3.16K 次浏览
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 回答

          我来回答