我有一个 MVC 4 Web API。通常我希望响应返回所有属性,但有一个地方我只想返回非空值。Formatters.JsonFormatter.SerializerSettings.NullValueHandling
我可以通过在全局文件中设置实例的 JsonSerializerSettings 来设置任一行为,GlobalConfiguration.Configuration
但我想根据响应同时使用这两种行为。是否有一种简单的方法可以从 API 控制器操作中配置请求范围?
问问题
590 次
2 回答
2
通过将控制器操作更改为返回 HttpResponseMessage,您可以更好地控制特定操作的内容返回方式。例如
public HttpResponseMessage Get() {
var foo = new Foo();
var objectContent = new ObjectContent<Foo>(foo, new JsonFormatter()
{SerializerSettings.NullValueHandling = ???})
return new HttpResponseMessage() {Content = objectContent};
}
于 2012-11-30T20:56:19.213 回答
0
使用像javascript这样的动态语言在客户端可能更容易做到这一点。
var keys = Object.keys(json);
for(var i = 0; i < keys.length; i++) {
var propertyName = keys[i];
if(json[propertyName] === undefined || v[propertyName] === null) {
json.remove(propertyName);
}
}
return json;
于 2012-11-30T20:30:51.937 回答