【问题标题】:Passing json data between client and server在客户端和服务器之间传递 json 数据
【发布时间】:2012-07-05 03:45:13
【问题描述】:

我需要实现 Web 服务,将 json 发送到服务器并读取响应。所有请求都发送到服务https://api.polldaddy.com/ 这将在 Web 应用程序中进行。这是我必须实现的 api:

http://support.polldaddy.com/api/

看起来很简单,只需将一些 json 发送到服务器并使用返回的 json 响应。执行此任务似乎有很多选择,以至于从哪里开始有点令人生畏?

那么,学习如何实现此服务的最佳起点是哪里,即:将 json 发送到服务器并使用响应。

【问题讨论】:

  • jsonweb services 有什么关系?
  • @user384706 来自 wikipeida “Web 服务是两个电子设备之间通过 Web(Internet)进行通信的方法。”这可以不包括json通信吗?
  • Web Services 有更具体的含义,与SOA 相关性更高。现在json 只是javascript 的一种形式。您应该更改帖子以获得帮助
  • 完全可以向 Web 服务发送 JSON 对象。 SOA != SOAP。

标签: java json web-services spring web-applications


【解决方案1】:

由于您正在创建一个需要处理 HTTP 请求的 Web 应用程序...从 Tomcat 或 Jetty 和 Apache HTTP 客户端开始,并使用 JSON 库,例如 json.org 提供的。

如果您熟悉 maven,您可以在 10 分钟内完成所有这些并构建。否则,您必须自己构建 webapp 并处理依赖项。

【讨论】:

    【解决方案2】:

    如果没有已经编写的 JAVA API,我会使用 JAX-RS 方法和客户端框架,如 jersey 客户端。看http://jersey.java.net/nonav/documentation/latest/client-api.html

    【讨论】:

      【解决方案3】:

      首先,您使用了错误的术语。 “实现 web 服务”意味着你将创建一个服务,听起来你只是想调用一个 web 服务。如果您需要将其用作商务投诉,您可以说“利用网络服务”。

      更难的方法。如果您无法添加任何其他库,请使用 java.net.HttpURLConnection。

      更简单的方法。如果您可以添加库,请使用 Jersey 客户端 API。 http://jersey.java.net/nonav/documentation/latest/user-guide.html#client-api

      Java EE 7 将包含官方客户端 API,EE 6 仅包含 REST 服务器端 API。

      但是您自己应该更喜欢 XML 内容而不是 JSON 内容。 JSON 很棒,因为它很容易被 JavaScript 解析。 Java 解析 XML 的方法比解析 JSON 的方法多。如果你真的想使用 JSON,你可以看看 http://jettison.codehaus.org/

      【讨论】:

        【解决方案4】:

        如果您使用的是 Java EE 7 并希望使用包含的 JAX-RS 2.0 API,请查看https://github.com/tobiasdenzler/jee7-rest-crud。它是一个使用 JSON 的简单 CRUD 项目。

        【讨论】: