没有得到具体的结果json对象以及如何比较两个字符串' s

时间:2016-12-07 19:26:27

标签: android json

我想只获得性别,但它显示{&#34;面对&#34;:[{&#34;性别&#34;:{&#34;价值&#34;:&#34;男&#34 ;}}]} 我只想要性别 请帮我解决JSONArray jArray = rst.getJSONArray("face"); for (int i = 0; i < jArray.length(); i++) { String gender=jArray.getJSONObject(i).getJSONObject("attribute").getString("gender"); String jsonText; jsonText = gender; textview2.setText("GENDER" + jsonText);

的问题

3 个答案:

答案 0 :(得分:0)

在最后一行尝试这个:

textview2.setText(&#34; GENDER&#34; + jsonText.value);

答案 1 :(得分:0)

在这一行,您将获得整个阵列:

JSONArray jArray = rst.getJSONArray("face");<br>

JSONArray是一个json对象数组 json对象是名称值对 它看起来像这样:

jArray[{name:”John” , gender:”male”}, 
{name:”jane” , gender:”female”}, 
{name:”Mike” , gender:”male”}]<br>

下一行循环遍历您拥有的数组。每次拉一个不同的json对象:

第一次通过= [{name:“John”,性别:“男性”} 第二次通过= {name:“jane”,性别:“女性”} 第3次通过= {名称:“迈克”,性别:“男性”}

for(int i = 0; i&lt; jArray.length(); i ++){String 首先看i = 0

以下这一行说明:检索名称为性别的json数据 这将返回 {gender:“male”}
“性别”作为名称,“男性”作为值。

gender=jArray.getJSONObject(i).getJSONObject("attribute").getString("gender").value; <br>
String jsonText; jsonText = gender; 
textview2.setText("GENDER" + jsonText);

我相信还有其他更有效的方法可以处理相同的代码,但我希望这会有所帮助。

答案 2 :(得分:0)

try {
        JSONObject jsonObject = new JSONObject(string);
        JSONArray jsonArray = jsonObject.getJSONArray("face");
        for(int i=0; i<jsonArray.length(); i++){
            String gender = jsonArray.getJSONObject(i).getJSONObject("gender").getString("value");
        }

    } catch (JSONException e) {
        e.printStackTrace();
    }

如果你有JsonArray长度1那么不需要for循环只需用0替换i