我知道ODATA可以返回json但不确定我是否必须使用属性或接口来执行此操作.
我希望它像http://odata.netflix.com/Catalog/Titles?$ format = JSON一样,但我的odata服务不返回JSON.当我把它称为www.foo.com/service?$format=json时,它只返回XML.
使用ODATA返回json需要做什么?
lam*_*ant 23
下载并安装Fiddler.
http://www.fiddler2.com/fiddler2/
安装完成后,打开它,单击位于Fiddler右侧的"Request Builder"选项卡.
插入此网址:
http://test.com/feed2/ODataService.svc/results
请注意,您不需要?$ format = JSON
在"请求标头"部分中,插入以下行:
accept: application/json
Run Code Online (Sandbox Code Playgroud)
点击Fiddler右上角的Big"Execute"按钮.
您将看到请求的结果添加到Fiddler左侧的列表中.
双击请求.Fiddler的右侧将更改为"Inspectors"选项卡,您可以在其中查看请求的结果.
此外,由于您正在使用Json,您可能希望下载并安装Fiddler的Json查看器插件:
http://jsonviewer.codeplex.com/
Nat*_*ook 13
较新版本的WCF数据服务默认支持JSON,您必须拥有
Accept: application/json;odata=verbose
Run Code Online (Sandbox Code Playgroud)
在请求标头中.
Accept: application/json
Run Code Online (Sandbox Code Playgroud)
已经不够了.更多信息在这里.
似乎没有人在这里非常干净地回答你的问题!
在HTML页面中,您可以使用以下Javascript/JQuery代码使WCF数据服务以JSON格式返回数据;
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
var sURL = "http://YourService.svc/Books(10)";
function testJSONfetch() {
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: sURL,
error: bad,
success: good,
beforeSend: function (XMLHttpRequest) {
//Specifying this header ensures that the results will be returned as JSON.
XMLHttpRequest.setRequestHeader("Accept", "application/json");
}
});
}
function good(response)
{
}
function bad(response)
{
}
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70353 次 |
| 最近记录: |