2

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

我做了很多研发并找到了一些解决方案,但它不正确。它返回带有 XML 标头的 JSON。我想要纯 JSON Web 服务。

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

提前致谢。

问候果冻

4

3 回答 3

1

一种方法是使用 WCF 创建带有 JSON 序列化的 RESTful 服务。例子很多,但你可以从一个简单的开始。您只需要小心在您的网络方法(GET、POST 等)上指定RequestFormat = WebMessageFormat.JsonResponseFormat = WebMessageFormat.Json 。

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

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

于 2012-06-17T16:11:43.847 回答
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 链接,是一个非常好的起点。

于 2012-06-17T16:08:18.147 回答
0

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

于 2012-06-17T17:27:28.403 回答