2013-02-11 108 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中,直接针对的列表。