发送JSON请求 - JQuery模拟

时间:2012-04-22 09:09:35

标签: android json

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

数据参数的官方documentation引用说:

  

如果value是一个数组,jQuery会根据传统设置的值使用相同的键序列化多个值

所以我有相同的情况 - 一个映射到数组“参数”的键:[123123,{“category”:“123”}]

完整的数据参数类似于

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

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

UPD:

我已经使用了gson + collections + post请求。

以下是一些指导方针:

1 个答案:

答案 0 :(得分: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 class的东西来使它成为后台工作。

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