查看: 727|回复: 0

[.NET源码] c# json 序列化如何去掉null值

发表于 2017-9-25 08:00:03
尚学堂AD

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

在这里我使用Newtonsoft.Json.dll

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

json字符串转对象

  1. Model model=JsonConvert.DeserializeObject<Model>(val);
复制代码

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

  1. string jsonString = JsonConvert.SerializeObject(obj);
复制代码

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

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

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

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

过滤掉NULL序列化结果:

  1. "MemberQuery": {
  2. "PhoneNumber": "13222222222",
  3. "Name": "test",
  4. "MF": "女",
  5. "BirthDate": "01/01/2017"
  6. }
复制代码

此随笔乃本人学习工作记录,如有疑问欢迎在下面评论,转载请标明出处。

如果对您有帮助请动动鼠标右下方给我来个赞,您的支持是我最大的动力。



回复

使用道具 举报