2013-02-11 50 views
0

我的JSON文件包含多個屬性。其中之一是對象列表。我需要通過一個數字鍵來訪問這個列表,例如1st,2nd等元素。Android - Java - 獲取JSONObject中的第n個元素

當得到nth element我想通過字母鍵訪問它的屬性。

例子:

MyObj.get("itemlist").get(0).get("attribute") 

如果我這樣做,我被迫整個事情轉換爲JSONArray從(據我所知)我無法通過的關鍵,但只是位置訪問我的屬性。

這裏是我的JSON字符串:

{ 
"id": 1, 
"items": [ 
    { 
     "id": 1, 
     "type": "video", 
     "name": "test.mp4" 
    }, 
    { 
     "id": 2, 
     "type": "image", 
     "name": "pic.jpg" 
    } 
], 
"name": "test" 
} 

任何想法?

+0

post json字符串也從中你想訪問屬性 – 2013-02-11 10:35:05

+0

已更新我的文章。 – Ron 2013-02-11 10:37:02

+1

我不明白爲什麼你的MyObj.get(「itemlist」)。get(0).get(「attribute」)'不會工作..看起來合法!您檢索itemlist(它是一個數組),獲取第0個索引(這是一個對象),然後從該對象獲取該屬性。這到底出了什麼問題? – 2013-02-11 10:39:40

回答

1

好了,不明白爲什麼,但是當我做了它的工作原理如下:

JSONArray MyList = new JSONObject(filePath).getJSONArray("items"); 
System.out.println((((JSONObject) MyList.get(1)).get("type"))); 

所以我只是省略了MyObj中,直接針對的列表。