java - 如何将 JSON 数组发送到另一个方法
问题描述
我正在从 API 获取 JSON 响应。我应该将这些 JSON 响应返回到具有选定字段的另一种方法
在这里,我获取所有 JSON 响应并将其放入 JSONArray,我应该将其返回给另一个方法。
如何获取 String 和 Long 返回字段并将其放入 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);
}
}
帮助我将带有选定字段的响应发送到 JSONarray 应该同时采用 String 和 Long 值并将其存储在 JSONArray 的一个变量中的其他方法。
这是传入的 JSON:
"clusters": [
{ "id": "0411-0089ki", "driver": { }, "start_timestamp": 1568952332573, },
这里 JSONObject["time"] not a string 是我将其放入 JSONArray 时遇到的错误
解决方案
您提到的上述代码的意图尚不清楚。但,
这里 JSONObject["time"] not a string 是我将其放入 JSONArray 时遇到的错误
您可以使用:
long time = iteratingObj.getLong("start_timestamp");
但是您不要在任何地方使用id
and time
in 的局部变量。
我认为您在问题中输入的代码中的逻辑不正确。请仔细检查这两个循环的逻辑。
for (int i = 0; i < clusterJsonArray.length(); i++) {
for (int p = 0; p < clusterJsonArray.length(); p++) {
推荐阅读
- python - 使用 Flask Rest API 上传和处理文件
- c# - 正则表达式 - 由破折号触发的可选后缀
- javascript - 使用 Discord.js 获取机器人离线后发送的所有消息
- python - 在 matplotlib 上设置高度和宽度
- r - 如何在 R Markdown 中显示 R Shiny 输出?
- c# - 输入轴垂直未在 Unity 中设置(C#)
- css - 在 Bootstrap 4 中将 div 的内容居中
- javascript - 使用 MaterialUI 将 Select 转换为 NativeSelect
- javascript - 使数学表达式匹配目标数字的最短序列
- mysql - 逾期图书查询:is dateDueBack < todaysDate