我有一个MVC 4 Web API。通常我想要返回所有属性的响应,但有一个地方我只想返回非空值。我可以通过在全局文件中设置GlobalConfiguration.Configuration
实例的Formatters.JsonFormatter.SerializerSettings.NullValueHandling
的JsonSerializerSettings来设置任何行为,但我希望根据响应使用两者。是否有一种简单的方法可以在API控制器操作中配置请求范围?根据响应设置JsonSerializerSettings?
0
A
回答
2
通过更改您的控制器操作以返回HttpResponseMessage,您可以更好地控制特定操作返回内容的方式。例如
public HttpResponseMessage Get() {
var foo = new Foo();
var objectContent = new ObjectContent<Foo>(foo, new JsonFormatter()
{SerializerSettings.NullValueHandling = ???})
return new HttpResponseMessage() {Content = objectContent};
}
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;
相关问题
- 1. 我如何设置Akavache JsonSerializerSettings?
- 2. 根据环境对响应设置了nginx设置标题var
- 3. Apache httpd:根据其他*响应*标头有条件地设置响应头
- 4. 根据JSON响应
- 5. 根据响应更新LinearLayout
- 6. ajax继续根据响应
- 7. MainActivity根据设置
- 8. 根据buildvariant设置应用标签
- 9. nodejs设置数据响应超时
- 10. 如何设置域响应[“设置Cookie”]
- 11. 根据屏幕大小将列设置为新行,使网站响应
- 12. 如何根据响应时间在循环中设置定时器?
- 13. 设置servlet以根级别响应?在Azure云
- 14. 设置响应HTML背景
- 15. 响应式bootstrap-sass设置
- 16. Apache ISIS:设置HTTP响应
- 17. nginx的响应设置
- 18. 根据SharedPreferences设置OnClickListeners
- 19. 根据日期设置Alpha
- 20. 根据ifstream设置变量
- 21. mod_rewrite:根据HTTP_HOST设置GET
- 22. 根据时间设置Cookie
- 23. 根据user_type设置登录
- 24. 根据情况设置ImageView
- 25. JsonSerializerSettings和Asp.Net核心
- 26. 自适应设计/根据
- 27. 根据变量更改响应
- 28. 如何根据服务器响应
- 29. 根据Json响应添加Toast
- 30. 根据其响应计划任务
这甚至没有必要。在这种情况下,我只是想通过慢速连接来发送大量的数据。 – Paul
除此之外,我可以想象在未来更改其他序列化选项,而这些选项在客户端并不那么容易实施。 – Paul