从Web Service 4.0返回JSON

时间:2012-06-17 16:03:55

标签: iphone asp.net wcf web-services

我想从Web Service 4.0返回JSON。我正在为iPhone创建一个应用程序。 iPhone开发人员想要一个以JSON响应的Web服务。

我做了很多R& D并找到了一些解决方案,但它不对。它返回带有XML标头的JSON。我想要纯粹的JSON Web服务。

请帮我创建JSON Web服务。如果你提供一些代码示例,那么它对我有帮助。

提前致谢。

此致 果冻

3 个答案:

答案 0 :(得分:1)

非常相似的问题,链接很好:How do I get MVC WebAPI to return JSON instead of XML using Chrome

如果您可以选择使用新的ASP.NET MVC 4.0 Web API来构建服务,那么它将为您轻松序列化xml或json。

服务使用者可以指定http 接受标题(accept: application/json),然后选择正确的格式化程序。或者,如果您只想返回JSON,也可以这样做。

来自上面的相同ASP.NET MVC 4.0链接的示例是一个非常好的快速启动。

答案 1 :(得分:1)

一种方法是使用WCF通过JSON序列化创建RESTful服务。示例很多,但您可以从simple one开始。 您只需要小心在Web方法(GET,POST等)上指定 RequestFormat = WebMessageFormat.Json ResponseFormat = WebMessageFormat.Json

您需要确保设置的另一个重要属性是WebInvokeAttribute上的 BodyStyle (在您的Web方法上)。该值应该是 WebMessageBodyStyle.Bare ,因此框架不会使用额外的XML元素来装饰它。

其他选项包括WCF数据服务(OData协议)。 5.0版刚刚发布(http://msdn.microsoft.com/en-us/data/odata.aspx)。

答案 2 :(得分:0)

我建议您按照marceln的建议使用OData RESTful服务。只需在网上浏览一些样品,您就会惊讶地发现它们构建起来有多容易,实际上它们有多么有用!以下是CodeProject上的示例项目,供您快速参考:http://www.codeproject.com/Articles/393623/OData-Services