要将一个对象序列化,可是如果对象的属性为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