gpt4 book ai didi

java - 我应该如何将 json 值返回到另一个方法中

转载 作者:行者123 更新时间:2023-12-02 00:24:36 26 4
gpt4 key购买 nike

我正在从 API 获取 JSON 响应。我应该将这些 JSON 响应返回到另一个方法。

    HttpClient client = HttpClientBuilder.create().build(); 
HttpGet request=new HttpGet("/2.0/clusters/list");
request.addHeader("Authorization",bearerToken);
request.addHeader("cache-control", "no-cache");
HttpResponse response=client.execute(request);
System.out.println("Response Code:" +
response.getStatusLine().getStatusCode());
String json = EntityUtils.toString(response.getEntity());
System.out.println("Gather Details\n");
JSONObject cluster = new JSONObject(json);
JSONArray array=cluster.getJSONArray("clusters");
for (int i=0;i< array.length();i++)
{
JSONObject clusters = array.getJSONObject(i);
String id=clusters.get("id").toString();
String time=clusters.get("time").toString();
System.out.println("Id:"+id+"time:"+time+"\n");

if(response.getStatusLine().getStatusCode()!=200) {
System.out.println("Failed HTTP
response"+response.getStatusLine().getStatusCode()+" "+json);
}
return json;

/*Another method which takes json values and insert into db*/

public void insertdb(JSONObject json) throws Exception{
Connection con = ConnectToDB();
String tablename="Cluster_Info";
JSONObject cluster = new JSONObject(json);
System.out.println(cluster);
JSONArray array=cluster.getJSONArray("clusters");

帮我将 json 响应发送到其他方法以插入数据库。

最佳答案

  • 使用 gson-2.1.jar 或更高版本。
  • 只需创建带有 ID 和时间字段(带有 getter/setter)的 POJO(Gather)

  • 添加另一个类,其中包含如下所示的列表项

    public class GatherDetails{private List<Gather> items;}
  • 在主要的第一个方法中添加以下转换行。

    HttpResponse response=client.execute(request);
    Gson gson = new Gson();
    GatherDetails gatherDetails= gson.fromJson(response.getEntity(), GatherDetails.class);

现在 GatherDetails 有一个对象列表。编辑第二个方法,如下所示。

public void insertdb(GatherDetails gatherDetails) throws Exception{
for(Gather gather:GatherDetails.items){
gather.getId();gather.getTime();
//insert logic goes here
}}

关于java - 我应该如何将 json 值返回到另一个方法中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58059603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com