1

我需要发送一个类似于 jQuery 的 ajax 方法的 JSON 请求。

data 参数的官方 文档引用说:

如果 value 是一个 Array,jQuery 会根据传统设置的 value 序列化多个具有相同 key 的值

所以我有同样的情况 - 一个映射到数组"parameters":[123123, {"category":"123"}]的键

完整的数据参数看起来像

$.ajax({
     url: "/api/",
     data: {"parameters":[123123, {"category":"123"}], "anotherParameter":"anotherValue"}

您介意告诉如何在 Java 中实现相同的功能吗?

升级版:

我已经使它可以使用 gson + 集合 + 发布请求。

以下是一些指导方针:

4

1 回答 1

0

到目前为止,您尝试了什么,问题到底是什么?是您不知道如何创建连接,您不知道如何序列化您的对象,还是您不知道如何使事物异步运行?

我认为 Java 没有任何异步 HTTP 调用方法,您需要使用常规 URLConnection 并在单独的线程中运行它。连接本身是这样形成的:

URL url = null;
URLConnection urlConnection = null;
String myURL = "http://example.com/ajax.php?foo=bar";
try {
    url = new URL(myURL);
    urlConnection = url.openConnection();
} catch (Exception e) {
    e.printStackTrace();
    return;
}
InputStream responseStream = null;
try {
    responseStream = urlConnection.getInputStream();
} catch (IOException e) {
    e.printStackTrace();
    return; 
}

然后,您必须使用AsyncTask 类之类的东西来使其成为后台作业。

要将您的对象转换为 JSON,您可能需要使用GSON 库

于 2012-04-22T09:56:30.363 回答