C#中 Json 序列化去掉null值的方法

时间:2021-11-27 08:29:26

要将一个对象序列化,可是如果对象的属性为null的时候,我们想将属性为null的都去掉。

在这里我使用Newtonsoft.Json.dll

记录一下序列化以及反序列化

json字符串转对象

?
1
Model model=JsonConvert.DeserializeObject<Model>(val);

将对象转化为json格式字符串

?
1
string jsonString = JsonConvert.SerializeObject(obj);

那么如何序列化为json时过滤掉NULL呢??

?
1
2
var jsonSetting = new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore};
var json = JsonConvert.SerializeObject(data, Formatting.Indented, jsonSetting);

直接这样JsonConvert.SerializeObject(obj);序列化结果

?
1
2
3
4
5
6
7
8
"MemberQuery": {
  "PhoneNumber": "13222222222",
  "Name": "test",
  "MF": "女",
  "BirthDate": "01/01/2017",
  "MaritalStatus": null,
  "Country": null
}

过滤掉NULL序列化结果:

?
1
2
3
4
5
6
"MemberQuery": {
 "PhoneNumber": "13222222222",
 "Name": "test",
 "MF": "女",
 "BirthDate": "01/01/2017"
}

总结

以上所述是小编给大家介绍的C#中 Json 序列化去掉null值的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://www.cnblogs.com/huangenai/archive/2017/09/13/7513235.html