noob Android / JSON的人在这里。我希望有人可以帮助我?
我looked和looked但我认为这不是我想要的。我整天都在研究这个项目,所以也许我的大脑已经开始变得糊涂......如果这已经过了其他地方,请指点我:)
无论如何,我希望从JSONArray中获取一个特定的对象 - 这是到目前为止发生的事情:
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++){
JSONObject json_obj = jArray.getJSONObject(i);
name = json_obj.getString("txt_title");
}
txt_title.setText(name);
据我所知result
返回整个JSONArray,然后我使用for loop
查看这些结果的长度并获取json对象。目前我只询问数组中"txt_title"
的值。到目前为止,这么好吗?
然后我想要做的是,只说从数组中设置第三个"txt_title"
值。
目前,我希望txt_title.setText(name)
在"txt_title"
中显示所有标题但是它只在数组中显示最后标题。这可能与for loop
有关?
如何选择显示哪个对象?
答案 0 :(得分:8)
您现在只显示列表中的最后一个,因为您每次都在循环中设置名称。
name = json_obj.getString("txt_title");
每次迭代时都会覆盖前一个值。如果你想拥有所有的价值,你必须以一种附加的方式来做。
name += json_obj.getString("txt_title");
如果你想从数组中获取一个特定的项目,你只需要使用你想要的索引而不是循环来访问它。
if(jArray.length() > 2) {
JSONObject json_obj = jArray.getJSONObject(2); //get the 3rd item
name = json_obj.getString("txt_title");
}
希望能帮助您了解如何访问它。
答案 1 :(得分:2)
如果您可以确保元素将存在于索引处,则可以完全跳过循环。
JSONArray jArray = new JSONArray(result);
String name = jArray.getJSONObject(2).getString("txt_title");
txt_title.setText(name);