2013-10-06 54 views
0

我一直在寻找从我的android应用程序的Flickr api提取图像网址。Android中的JSON解析(Flickr API)

更具体而言,我需要解析所述第一owner和第一id字段以下JSON

http://pastebin.com/NVKXdELx

因此,我试图

JSONObject json = new JSONObject(jsonString); 
JSONObject photos = json.getJSONObject("photos"); 
JSONObject photo = photos.getJSONObject("photo"); 
String picOwner = photo.getString("owner"); 
String picID = photo.getString("id"); 

对我来说,逻辑有意义(抓住行照片,然后抓住行照片,然后提取所有者字段作为字符串)。然而,错误是抛出

JSONObject photo = photos.getJSONObject("photo"); 

我可以忽略的东西?

注:我正在寻找的终极价值是

"id": "8637130199", 
    "owner": "[email protected]" 

回答

4

通过"photo"标识的元素是一个JSON数组,你需要使用JSONArray

JSONObject json = new JSONObject(jsonString); 
JSONObject photos = json.getJSONObject("photos"); 
JSONArray photo = photos.getJSONArray("photo"); 
if (photo.length() > 0) { 
    JSONObject first = photo.getJSONObject(0); 
    String picOwner = first.getString("owner"); 
    String picID = first.getString("id"); 
}