所以我想知道如何获得jsonelement的一个单独部分,因为当我运行程序时,每个元素都包含更多的信息。例如,它将jsonarray中的一个元素打印为 [94372,1100000,1389792,31,43]
我怎样才能只检索元素中的第一个数字?
import com.google.gson.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String inline = "";
try{
URL url = new URL("http://api.gw2tp.com/1/bulk/items.json");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.connect();
int responsecode = conn.getResponseCode();
if (responsecode!= 200)
throw new RuntimeException("HttpResponseCode: " +responsecode);
else {
Scanner sc = new Scanner(url.openStream());
while (sc.hasNext()){
inline+=sc.nextLine();
}
}
JsonParser parse = new JsonParser();
JsonObject jobj = (JsonObject)parse.parse(inline);
JsonElement updated = jobj.get("updated");
JsonArray jsonarr_1=(JsonArray)jobj.get("items");
JsonArray jsonarr_2=(JsonArray)jobj.get("columns");
System.out.println(jsonarr_2);
for(int i=0;i<jsonarr_1.size();i++) {
System.out.println(jsonarr_1.get(i));
}
}catch (Exception e){
e.printStackTrace();
}
}
}
1条答案
按热度按时间egmofgnx1#
该对象是一个jsonarray,调用
.getAsJsonArray().get(0)
将获得第一个条目:输出:
24
System.out.println(jsonarr_1.get(i).getAsJsonArray().get(0));
在循环中,将输出每个数组的第一个元素。完整代码: