如何使用json和c#消费odata?

时间:2012-06-25 20:30:56

标签: c# api odata

我正在使用c#/ winRT消费odata v2 api。它工作正常,但它使用xml作为读取和写入请求的编码格式。我怎样才能让它使用json呢?

我已经尝试将事件处理程序附加到myDataSource.SendingRequest,并添加“Accept”标头,但是客户端库显式拦截了这个并抛出异常。此外,我在客户端找不到任何“接受”属性。

谢谢,

阿德里安

2 个答案:

答案 0 :(得分:1)

假设您正在使用WCF数据服务客户端库(根据Phani的blog post),那么目前这是不可能的。客户端库不支持JSON(

如果您确实需要使用JSON,则需要直接使用ODataLib,这不像WCF数据服务客户端那样“易于使用”,但它也为您提供了更大的灵活性。 ODataLib是OData线格式的读写器。有关示例,请参阅此blog post。 Metro的ODataLib本身--Microsoft.Data.OData.Metro应该已经成为VS 2012 RC版本的一部分。

答案 1 :(得分:0)

您需要在请求中添加一个接受标头:
'accept:application / json'