JSON序列化 - 删除空键

时间:2012-11-20 11:04:33

标签: .net json serialization asp.net-web-api

我正在使用.Net Web API技术创建一个HTTP服务,我创建了一些DTO类,当只需要某个数据子集时,我打算只用这些数据填充DTO以最小化传输的数据量。

有没有办法让JSON序列化程序忽略那些空的数据成员?我意识到[JsonIgnore]和[ScriptIgnore]属性将忽略特定成员,但我只想忽略它们,如果它们为null或为空。

[编辑]

感谢下面的L.B

我在WebApiConfig.cs中添加了以下内容,以便在Web API中启用它:

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;

1 个答案:

答案 0 :(得分:14)

Json.Net有此

的设置
var str = JsonConvert.SerializeObject(obj, 
    new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore });
相关问题