Java 如何将从Http请求接收到的数据放入数组?
我需要将post请求数据插入数组。我将获得三组JSON信息,并希望将每个JSON结果插入一个字符串数组中。这是我目前使用的代码Java 如何将从Http请求接收到的数据放入数组?,java,post,Java,Post,我需要将post请求数据插入数组。我将获得三组JSON信息,并希望将每个JSON结果插入一个字符串数组中。这是我目前使用的代码 URL url = new URL("http://localhost:9090/service.php"); URLConnection conn = url.openConnection(); conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutp
URL url = new URL("http://localhost:9090/service.php");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer response = new StringBuffer();
int i = 0;
ArrayList<String> arr = new ArrayList<String>();
while ((line = reader.readLine()) != null) {
response.append(line);
arr.add(response.toString());
System.out.println(arr.get(i));
i++;
}
此代码输出如下:
abc
abcdef
abcdefghi
但我需要像输入一样的输出。移动
StringBuffer response = new StringBuffer();
到“while”块的第一行更改arr.addresponse.toString;到arr.addline;它可以工作。您还没有重新初始化StringBuffer变量响应。此外,您实际上不需要使用StringBuffer,因为您没有操作字符串信息。我建议您尝试以下方法,但在某些情况下您可能不想使用localhost:
URL url = new URL("http://localhost:9090/service.php");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
int i = 0;
ArrayList<String> arr = new ArrayList<String>();
while ((line = reader.readLine()) != null) {
arr.add(line);
// debug information
System.out.println(arr.get(i));
i++;
}
URL url = new URL("http://localhost:9090/service.php");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
int i = 0;
ArrayList<String> arr = new ArrayList<String>();
while ((line = reader.readLine()) != null) {
arr.add(line);
// debug information
System.out.println(arr.get(i));
i++;
}