Java 如何将JSON数组发送到另一个方法

Java 如何将JSON数组发送到另一个方法,java,arrays,list,object,arraylist,Java,Arrays,List,Object,Arraylist,我正在从API获取JSON响应。 我应该将这些JSON响应返回给具有选定字段的另一个方法 在这里,我获取所有JSON响应,并将其放入JSONArray,然后返回到另一个方法 如何获取字符串和长返回字段,并将其放入JSON数组中,然后将其返回给另一个方法 HttpClient client = HttpClientBuilder.create().build(); HttpGet request = new HttpGet("/2.0/clusters/list"); request.addHea

我正在从API获取JSON响应。 我应该将这些JSON响应返回给具有选定字段的另一个方法

在这里,我获取所有JSON响应,并将其放入JSONArray,然后返回到另一个方法

如何获取字符串和长返回字段,并将其放入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 clusterJsonArray = cluster.getJSONArray("clusters");

for (int i = 0; i < clusterJsonArray.length(); i++) {
    JSONObject iteratingObj = array.getJSONObject(i);
    String id = iteratingObj.get("id").toString();
    String time = iteratingObj.get("time").toString();

    System.out.println("Id:" + id + "time:" + time + "\n");

    List<String> strList = new ArrayList<>();

    for (int p = 0; p < clusterJsonArray.length(); p++) {
        strList.add(clusterJsonArray.getJSONObject(p).getString("id"));
        strList.add(clusterJsonArray.getJSONObject(p).getString("time"));
    }

    System.out.println("Arr:" + strList);

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

这里JSONObject[“time”]不是一个字符串是我在将其放入JSONArray时面临的错误

您提到的上述代码的意图并不清楚。但是,

在这里,我遇到的错误是JSONObject[“time”]不是字符串 我把它交给JSONArray

您可以使用:

long time = iteratingObj.getLong("start_timestamp");
但是在任何地方都不能使用
id
time
的局部变量

我认为你提出问题的代码中的逻辑是不正确的。请仔细检查这两个回路的逻辑

for (int i = 0; i < clusterJsonArray.length(); i++) {

for (int p = 0; p < clusterJsonArray.length(); p++) {
for(int i=0;i
请正确格式化您的代码。您缺少了
}
。请添加传入的json。这是我得到的json响应示例。```````集群“:[{”id:“0411-0089ki”,“驱动程序“:{}”,开始时间戳“:1568952332573,}```
for (int i = 0; i < clusterJsonArray.length(); i++) {

for (int p = 0; p < clusterJsonArray.length(); p++) {