使用int变量获取JSONObject中的第一个对象

时间:2014-03-15 17:43:23

标签: android json api parsing key

我需要在extract对象中获取字符串。但是JSON对象包含一些随机变量,所以当我通过JSONObject pg = qr.getJSONObject(0)调用时,我得到一个错误,指出我不能使用整数。

这是jsonobject:

{"query":
    {"pages":
        {"7529378":
            {"pageid":7529378,
             "ns":0,
             "title":"Facebook",
             "extract":"<p><b>Facebook</b> is an online social networking service.</p>"
            }
        }
    }
}

我尝试了以下密钥结构,但失败了。

Iterator<?> keys = pg.keys(); 
while( keys.hasNext() ){
    String key = (String)keys.next();
    if( pg.get(key) instanceof JSONObject ){
        // get all values from JSONObject
        str=pg.optString("extract"); 

    //get  ns, title, extract,.. in same way from jObjpages 
    }
}

1 个答案:

答案 0 :(得分:-2)

做类似的事情:

JSONObject json = new JsonObject(your_main_string);
JSONObject query= json.getJsonObject("query");
JSONObject pages = query.getJsonObject("pages");
JSONObject id= pages .getJsonObject("7529378");
String extract = id.getString("extract");