使用DataServiceContext查询Odata服务获取支持版本2的json结果

时间:2013-07-09 07:08:33

标签: c# json odata

我已经编写了支持Odata V3的odata服务消费者代码。我写过这里提到的逻辑Consume Odata Service and get result in JSON

我正在消费的java odata服务是用Odata V2编写的。现在我想得到Json的结果是什么方法。请帮忙。

我尝试过以下apporaches但是我没有得到结果: 1.使用数据上下文的Json方法,但它仅支持odata服务版本3或更高版本。 2.将标题作为json传递,但它给了我错误。

1 个答案:

答案 0 :(得分:1)

不幸的是,如果您的服务器不支持OD3的v3,则不能将WCF数据服务客户端与JSON一起使用。

您仍然可以将WCF数据服务客户端与Atom一起使用。这对你的场景是否可以接受?

或者,如果必须使用旧的JSON格式,则可以使用ODataLib(在NuGet上可用作Microsoft.Data.OData)来读取和写入详细的JSON有效内容。 ODataLib是OData有效负载的低级序列化和反序列化库;你不会得到WCF数据服务客户端库的好处,你必须自己实现实现,实体跟踪等,但它比使用JSON.NET(或类似的库)要好得多)直接。

我的博客http://odata.jenspinney.com/提供了一些使用ODataLib的示例。如果您决定采用这条路线,请随时提出有关如何使特定方案有效的问题。