从JSONArray获取特定值

Wil*_*lis 5 arrays android json object

noob Android/JSON的人在这里.我希望有人可以帮助我?

看了看,并期待,但不认为这是我后.我整天都在研究这个项目,所以也许我的大脑刚刚开始变得糊涂......如果这已经过了其他地方请指点我那样:)

无论如何,我希望从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);
Run Code Online (Sandbox Code Playgroud)

据我所知,result返回整个JSONArray,然后我使用for loop和获取json对象来查看这些结果的长度.目前我只是要求"txt_title"数组中的值.到现在为止还挺好?

然后我想要做的是,只说"txt_title"从数组中设置第三个值.

目前我希望txt_title.setText(name)显示所有标题,"txt_title"但它只显示数组中的最后一个标题.这可能与for loop?有关?

我该如何选择显示哪个对象?

Bri*_*eil 8

您现在只显示列表中的最后一个,因为您每次都在循环中设置名称.

name = json_obj.getString("txt_title");
Run Code Online (Sandbox Code Playgroud)

这会在每次迭代时覆盖先前的值.如果你想拥有所有的价值,你必须以一种附加的方式来做.

name += json_obj.getString("txt_title");
Run Code Online (Sandbox Code Playgroud)

如果要从数组中获取特定项,只需使用所需的索引而不是循环来访问它.

    if(jArray.length() > 2) {
         JSONObject json_obj = jArray.getJSONObject(2);   //get the 3rd item
         name = json_obj.getString("txt_title");
    }
Run Code Online (Sandbox Code Playgroud)

希望能帮助您了解如何访问它.