使用更新的ASP。NET Web API,在Chrome中我看到XML -我如何将其更改为请求JSON,以便我可以在浏览器中查看它?我相信这只是请求头的一部分,我是正确的吗?
当前回答
这里有一个类似于杰森的解决方案。ceneno 's和其他答案,但使用System.Net.Http.Formatting的内置扩展。
public static void Register(HttpConfiguration config)
{
// add support for the 'format' query param
// cref: http://blogs.msdn.com/b/hongyes/archive/2012/09/02/support-format-in-asp-net-web-api.aspx
config.Formatters.JsonFormatter.AddQueryStringMapping("$format", "json", "application/json");
config.Formatters.XmlFormatter.AddQueryStringMapping("$format", "xml", "application/xml");
// ... additional configuration
}
在WebApi的早期版本中,该解决方案主要用于支持OData的$格式,但它也适用于非OData实现,并返回 内容类型:application / json;Charset =utf-8报头。
它允许您在使用浏览器测试时将&$format=json或&$format=xml附加到uri的末尾。在使用非浏览器客户端(可以设置自己的头文件)时,它不会干扰其他预期行为。
其他回答
在WebApiConfig.cs中,在Register函数的末尾添加:
// Remove the XML formatter
config.Formatters.Remove(config.Formatters.XmlFormatter);
源。
在全球。我正在使用下面的代码。我获取JSON的URI是http://www.digantakumar.com/api/values?json=true
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("json", "true", "application/json"));
}
一个快速的选择是使用MediaTypeMapping专门化。下面是一个在Application_Start事件中使用QueryStringMapping的例子:
GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("a", "b", "application/json"));
现在,只要url包含querystring(在这种情况下,a=b), Json响应就会显示在浏览器中。
config.Formatters.Remove(config.Formatters.XmlFormatter);
只需在WebApiConfig类中添加这两行代码
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
//add this two line
config.Formatters.Clear();
config.Formatters.Add(new JsonMediaTypeFormatter());
............................
}
}
推荐文章
- 如何使用jq从JSON获得键名
- 如何POST JSON数据与PHP卷曲?
- 谷歌协议缓冲区vs json vs XML
- JSON到pandas DataFrame
- 如何返回一个文件(FileContentResult)在ASP。净WebAPI
- 如何获得JSON从URL在JavaScript?
- 如何表示JSON字符串数组?
- 如何在Mac上的命令行安装JQ ?
- Chrome:网站使用HSTS。网络错误……这个页面稍后可能会工作
- 什么是“升级-不安全-请求”HTTP报头?
- 如何验证一个XPath表达式在Chrome开发工具或Firefox的Firebug?
- 如何删除所有断点在谷歌Chrome一步?
- 不带空格的Python - json
- 我如何从一个WCF服务返回干净的JSON ?
- mongodb中使用ISODate的日期查询似乎无法正常工作