{
"hits": [
{
"name": "Google",
"results": [
{
"count": 27495
}
]
},
{
"name": "Yahoo",
"results": [
{
"count": 17707
}
]
}
}
我能够通过以下代码读取上述json的名称和结果,但无法单独从JSON打印计数值。
JSONObject jsonObject = (JSONObject) jsonParser.parse(reader);
if(null!=jsonObject.get("hits"))
{
System.out.println("Inside IF...");
JSONArray ja = (JSONArray) jsonObject.get("hits");
for(int i=0;i<ja.size() ; i++)
{
System.out.println("Inside FOR...");
JSONObject tempJsonObj = (JSONObject) ja.get(i);
System.out.println(tempJsonObj.get("name").toString());
System.out.println(tempJsonObj.get("results").toString());
}
}
如何在JSON数组中提取JSON数组
答案 0 :(得分:2)
就像你为外面的JSONArray(点击)解析一样。对内在(&#34;结果&#34;)遵循相同的内容:
JSONObject jsonObject = (JSONObject) jsonParser.parse(reader);
if(null!=jsonObject.get("hits"))
{
System.out.println("Inside IF...");
JSONArray ja = (JSONArray) jsonObject.get("hits");
for(int i=0;i<ja.size() ; i++)
{
System.out.println("Inside FOR...");
JSONObject tempJsonObj = (JSONObject) ja.get(i);
System.out.println(tempJsonObj.get("name").toString());
System.out.println(tempJsonObj.get("results").toString());
JSONArray innerarray = (JSONArray) tempJsonObj.get("results");
for(int i=0;i<innerarray.size() ; i++)
{
JSONObject tempJsoninnerObj = (JSONObject) innerarray.get(i);
System.out.println(tempJsoninnerObj.get("count").toString());
}
}
}