使用ASP.NET Web API默认返回json

是否有可能从ASP.NET Web API而不是XML返回默认的json?


这是默认完成的。 JsonMediaTypeFormatter被注册为第一个MediaTypeFormatter并且如果客户端没有以特定格式请求响应,则ASP.NET Web API管道将为您提供application/json格式的响应。

如果你想要的只是支持application/json ,删除所有其他格式化程序,只留下JsonMediaTypeFormatter

public static void Configure(HttpConfiguration config) {

    var jqueryFormatter = config.Formatters.FirstOrDefault(x => x.GetType() == typeof(JQueryMvcFormUrlEncodedFormatter));
    config.Formatters.Remove(config.Formatters.XmlFormatter);
    config.Formatters.Remove(config.Formatters.FormUrlEncodedFormatter);
    config.Formatters.Remove(jqueryFormatter);
}

@ tugberk的解决方案并不能真正实现更改默认格式化程序的目标。 它只是让JSON成为唯一的选择。 如果您想让JSON成为默认设置,并且仍然支持所有其他类型,则可以执行以下操作:

public static void Configure(HttpConfiguration config) {
    // move the JSON formatter to the front of the line
    var jsonFormatter = config.Formatters.JsonFormatter;
    config.Formatters.Remove(jsonFormatter);
    config.Formatters.Insert(0, jsonFormatter);
}

注意:JSON是Web API 2.0的默认格式化程序。

链接地址: http://www.djcxy.com/p/20433.html

上一篇: Return json by default using ASP.NET Web API

下一篇: Web Api and JSON?