要将一个对象序列化,可是如果对象的属性为null的时候,我们想将属性为null的都去掉。
在这里我使用Newtonsoft.Json.dll
记录一下序列化以及反序列化
json字符串转对象
Model model=JsonConvert.DeserializeObject<Model>(val);
将对象转化为json格式字符串
string jsonString = JsonConvert.SerializeObject(obj);
那么如何序列化为json时过滤掉NULL呢??
var jsonSetting = new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore};
var json = JsonConvert.SerializeObject(data, Formatting.Indented, jsonSetting);
直接这样JsonConvert.SerializeObject(obj);序列化结果
"MemberQuery": {
"PhoneNumber": "13222222222",
"Name": "test",
"MF": "女",
"BirthDate": "01/01/2017",
"MaritalStatus": null,
"Country": null
}
过滤掉NULL序列化结果:
"MemberQuery": {
"PhoneNumber": "13222222222",
"Name": "test",
"MF": "女",
"BirthDate": "01/01/2017"
}