我正在创建一个向API发出GET请求并接收JSON的应用,我需要创建一个保存信息的类。这是我尝试过的:
package apiwebapprequest;
import com.google.gson.Gson;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class APIWebAppRequest {
public static void main(String[] args) throws IOException {
Gson gson = new Gson();
Object obj = new Object();
try {
URL url = new URL("http://10.250.100.170:9082/SPVWS2/rest/listaMesaje");
URLConnection yc = url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
String inputLine;
while((inputLine = in.readLine())!= null){
System.out.println(inputLine);
in.close();
gson.toJson(obj,inputLine);
}
}catch(Exception e) {System.out.println(e);}
}
}
这是对象类:
package apiwebapprequest;
public class Object {
private String cif;
private String data_creare;
public String getCif() {
return cif;
}
public void setCif(String cif) {
this.cif = cif;
}
public String getData_creare() {
return data_creare;
}
public void setData_creare(String data_creare) {
this.data_creare = data_creare;
}
}
第29行-> gson.toJson(obj,inputLine);这给了我一个错误。你能告诉我怎么做吗?我找不到如何解决它或以其他可行的方式对其进行修改]
想法是当我在inputLine中发出请求时我走了,我有json,我想将字段分别保存在Object属性中
您应该首先在while
循环中读取整个响应,然后在while
循环结束后转换为json。您可以修改代码,例如
StringBuilder sb = new StringBuilder();
while((inputLine = in.readLine())!= null){
System.out.println(inputLine);
sb.append(inputLine +"\n");
in.close();
}
gson.toJson(obj,sb.toString());
在while循环后尝试使用gson.toJson(obj,inputLine)
。