为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用json.net忽略类中的属性(如果为NULL)

如何使用json.net忽略类中的属性(如果为NULL)

C#
一只萌萌小番薯 2019-07-05 10:45:45
如何使用json.net忽略类中的属性(如果为NULL)我在用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; }}我想添加一个JsonIgnore()属性为Test2List属性仅在Test2List是null..如果它不是空的,那么我想将它包含在我的json中。
查看完整描述

3 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

正如JamesNewtonKing所述:如果您自己创建序列化程序,而不是使用JavaScriptConvert,则有一个NullValueHandling财产你可以设置为忽略。

这是一个样本:

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

或者,正如@Amit建议的那样

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


查看完整回答
反对 回复 2019-07-05
?
长风秋雁

TA贡献1757条经验 获得超7个赞

使用JsonProperty属性:

[JsonProperty(NullValueHandling=NullValueHandling.Ignore)]// or[JsonProperty("property_name", NullValueHandling=NullValueHandling.Ignore)]
// or for all properties in a class[JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)]

如图所示这个在线医生.


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 1725 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信