ADO.NET Data Service如何直接支持用Json格式返回数据

今天在介绍WCF及其在项目开发中应用时,再次提到了ADO.NET Data Service。关于这个主题,其实之前我写过不少内容,有兴趣可以参考

http://zzk.cnblogs.com/s?w=blog%3Achenxizhang%20ado.net%20data%20service

 

同时,微软有一篇非常详细的文档

http://msdn.microsoft.com/en-us/library/cc907912.aspx

 

我们知道,ADO.NET Data Service是支持两种数据格式的:xml和json.默认是xml(具体来说是atom格式)

如下面的效果

image

那么,如何让这些结果用json格式返回呢?

 

比较遗憾的是,我们暂时不能直接通过设置就完成这个需求。但是有一个开源的项目,提供了一个解决方案,如下

http://code.msdn.microsoft.com/DataServicesJSONP

The net effect is that if you include this code in your project, you just need to add a single attribute to your Data Service to make it support JSONP:
[JSONPSupportBehavior]
public class SampleService : DataService<ContactsData>
{
// your service code here...
}
Once that's in place you can use JSONP by adding formatandcallback to URLs, for example:
http://<host>/SampleService.svc/People?format=json&callback=cb
Of course, you can still use all the other Data Services URL options in addition to these.

 

使用起来很简单,他是写好了一个Behavior的Attribute,我们只需要在有关的类型上面加上即可

image

 

然后,在请求地址中添加$format=json这样的字样即可

http://localhost:1142/OrderService.svc/Customers('ALFKI')/Orders?$format=json

 

返回的json数据,大致如下

image

posted @   陈希章  阅读(3235)  评论(11编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
历史上的今天:
2008-10-27 Excel Service能做什么和不能做什么
2008-10-27 VBA中访问Web Service
2008-10-27 LINQ to XML
2008-10-27 LINQ to DataSet
2008-10-27 VS2008中的动态数据Web应用程序
点击右上角即可分享
微信分享提示