我想从 Web Service 4.0 返回 JSON。我正在为 iPhone 创建一个应用程序。iPhone 开发人员想要一个以 JSON 格式响应的 Web 服务。
我做了很多研发并找到了一些解决方案,但它不正确。它返回带有 XML 标头的 JSON。我想要纯 JSON Web 服务。
请帮我创建 JSON Web 服务。如果您向我提供一些代码示例,那么它对我很有帮助。
提前致谢。
问候果冻
我想从 Web Service 4.0 返回 JSON。我正在为 iPhone 创建一个应用程序。iPhone 开发人员想要一个以 JSON 格式响应的 Web 服务。
我做了很多研发并找到了一些解决方案,但它不正确。它返回带有 XML 标头的 JSON。我想要纯 JSON Web 服务。
请帮我创建 JSON Web 服务。如果您向我提供一些代码示例,那么它对我很有帮助。
提前致谢。
问候果冻
一种方法是使用 WCF 创建带有 JSON 序列化的 RESTful 服务。例子很多,但你可以从一个简单的开始。您只需要小心在您的网络方法(GET、POST 等)上指定RequestFormat = WebMessageFormat.Json和ResponseFormat = WebMessageFormat.Json 。
您需要确保设置的另一个重要属性是WebInvokeAttribute上的 BodyStyle (在您的网络方法上)。该值应该是WebMessageBodyStyle.Bare,因此框架不会用额外的 XML 元素来装饰它。
其他选项包括 WCF 数据服务(OData 协议)。5.0 版刚刚发布 (http://msdn.microsoft.com/en-us/data/odata.aspx)。
非常相似的问题在这里有很好的链接: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 链接,是一个非常好的起点。
我建议您按照 marceln 的建议使用 OData RESTful 服务。只需在线浏览一些示例,您就会惊讶地发现它们是多么容易构建以及它们实际上是多么有用!这是 CodeProject 上的示例项目,供您快速参考: http: //www.codeproject.com/Articles/393623/OData-Services