Newtonsoft.Json 处理null值不序列化 指定字段不序列化

2210
补充展位 Pages_Weblog_Get#0
文章摘要
此内容由人工摘要内容,并由AI根据文章内容进行润色
在.NET中,Newtonsoft.Json 常用于对象序列化。默认情况下,属性为 null 的值会被写入 JSON。为了更简洁美观,可设置 NullValueHandling = NullValueHandling.Ignore 全局忽略 null 值,或用 [JsonIgnore] 属性让指定字段完全不参与序列化

Newtonsoft.Json 处理null值不序列化 指定字段不序列化

有时候我们需要要将一个对象序列化,可是如果对象的属性为null的时候 实际输出并没有什么作用,为了美观我们可以将属性为null的都排除在序列化内容之外。这里做一下笔记

//将Json字符串转为对象
Model model=JsonConvert.DeserializeObject<Model>(val);

//将对象转化为json格式的字符串
string jsonString = JsonConvert.SerializeObject(obj);

那么在编程时如何在序列化对象为json时过滤掉NULL值呢? 以下是实现方法

笔者开发使用的是 Newtonsoft.Json.dll 这里以此为例 序列化时将所有nul值属性排除在外

var jSetting = new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore};
var json = JsonConvert.SerializeObject(response, Formatting.Indented, jSetting);

上面那是全局的,如果需求只是对其中某一个属性生效的话,使用下面的方法:

[JsonProperty(PropertyName="TestObj",NullValueHandling=NullValueHandling.Ignore)]
public Object TestObj { get; set; }

Newtonsoft.Json.dll 指定某个字段不参与序列化(不管是否为null都不进行序列化操作)

[JsonIgnore]
public Object TestObj { get; set; }
补充展位
Pages_Weblog_Get#f73b1d06-a65d-45ff-b869-4e65d061ed08
补充展位 Pages_Weblog_Get#1
补充展位 Pages_Weblog_Get#2
专题推荐
暂无内容
补充展位 Pages_Weblog_Get#3