ASP.NET web api返回XML而不是JSON

这个问题在这里已经有了答案:

  • 如何让ASP.NET Web API使用Chrome返回JSON而不是XML? 29个答案

  • 如果您按照以下方式修改WebApiConfig ,则默认情况下会获得JSON。

    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
    
            var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "application/xml");
            config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);
        }
    }
    

    Web Api查找即将到来的请求的标题以选择返回的数据类型。 例如,如果设置Accept:application / json,它会自动将返回类型设置为JSON。

    除此之外,设置内容类型为Web-API提供了关于即将到来的请求数据类型的线索。 因此,如果您想将JSON数据发布到Web API,则应该在标题中包含Content-Type:application / json

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

    上一篇: ASP.NET web api returning XML instead of JSON

    下一篇: How to return content in specified 'Accept' format from Web API aciton