JSON序列化 - 删除空键

8

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

有没有办法让JSON序列化器忽略那些为空的数据成员?我知道有[JsonIgnore]和[ScriptIgnore]属性可以忽略特定成员,但我只想在它们为null或空时忽略它们。

[编辑]

感谢下面的L.B

我添加了以下内容到WebApiConfig.cs中以在Web API中启用此功能:

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
1个回答

15

Json.Net有一个相关的设置。

var str = JsonConvert.SerializeObject(obj, 
    new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore });

太棒了,谢谢。我已经编辑了我的问题来展示我在Web API中所做的事情。 - Dale

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接