8

我正在使用 .Net Web API 技术创建一个 HTTP 服务,我创建了一些 DTO 类,当只需要某个数据子集时,我计划只用该数据填充 DTO 以最小化数据量转移。

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

[编辑]

感谢下面的LB

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

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

1 回答 1

15

Json.Net 对此有一个设置

var str = JsonConvert.SerializeObject(obj, 
    new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore });
于 2012-11-20T11:24:17.117 回答