如何从JSON字符串创建JAVA对象?

问题描述 投票:1回答:2

我正在创建一个向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属性中

java json api gson
2个回答
0
投票

您应该首先在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());

0
投票

在while循环后尝试使用gson.toJson(obj,inputLine)

© www.soinside.com 2019 - 2024. All rights reserved.