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