Asp.net mvc 从ASP.NET web API返回JSON格式
我知道这个问题已经讨论过很多次了,但对我来说,这些解决方案并不奏效。我想从ASP.NET web API返回JSON数据。我使用Firefox REST客户端插件达到了终点 我所尝试的:Asp.net mvc 从ASP.NET web API返回JSON格式,asp.net-mvc,web-services,rest,asp.net-web-api,Asp.net Mvc,Web Services,Rest,Asp.net Web Api,我知道这个问题已经讨论过很多次了,但对我来说,这些解决方案并不奏效。我想从ASP.NET web API返回JSON数据。我使用Firefox REST客户端插件达到了终点 我所尝试的: 我有特定的accept头:accept:application/json 已删除应用程序启动方法上的XML格式化程序 var formatters=GlobalConfiguration.Configuration.formatters 移除(formatters.XmlFormatter) 这就是我在最后返回
accept:application/json
return myModel.OrderBy(d => d.SortOrder);
其中myModel只是一个几乎没有公共属性的类。我没有用任何属性装饰这个类或它的属性
但这两种方法都不起作用。我仍在获取XML格式的数据:(
请提供您的建议。我想向您介绍 这是与.net连接的RESTAPI框架 它能满足你的一切要求。
来自评论 检查
application/json
头是否是第一个头,并具有q=1
quality属性:“application/json;q=1”
您可以在中阅读有关质量属性的更多信息。基本上,它们是客户机提供返回数据类型的首选项系统的一种方式
为了回答您的另一个问题(当我在代码中显式删除XML格式时,为什么要以XML格式获取数据?),我只能猜测发生了什么:要么头设置不正确,要么客户端将另一个头默认为不同的质量值
另一种猜测可能是您删除格式化程序的方法是错误的:您可以检查此方法或此方法,看看它们是否也能帮您解决问题。显示您的代码,我们无法根据此进行回答。@RoyDictus:感谢您的快速回复。我无法在此论坛中共享代码:(.我认为以JSON格式返回数据应该取决于一些配置设置。我希望有人能指出或建议一些配置更改,这将有助于我获得结果。您是否直接从api返回实体而不是字符串结果等?@Slicksim:这是我返回的:-return myModel.OrderBy(d=>d.SortOrder);其中myModel只是一个几乎没有公共属性的类。我没有用任何属性装饰这个类。你的方法的返回类型是什么?orderby将返回一个Iorderable,不是吗?为一个简单的需求更改技术似乎有点过火,但从长远来看,如果我们处于初始阶段,并且项目是f从长远来看,是时候做出改变,让自己免于未来的痛苦了