我需要发送类似于jQuery的ajax方法的JSON请求。
数据参数的官方documentation引用说:
如果value是一个数组,jQuery会根据传统设置的值使用相同的键序列化多个值
所以我有相同的情况 - 一个映射到数组“参数”的键:[123123,{“category”:“123”}]
完整的数据参数类似于
$.ajax({
url: "/api/",
data: {"parameters":[123123, {"category":"123"}], "anotherParameter":"anotherValue"}
你介意告诉如何在Java中实现相同的功能吗?
UPD:
我已经使用了gson + collections + post请求。
以下是一些指导方针:
答案 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。