我想只获得性别,但它显示{"面对":[{"性别":{"价值":"男&#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);
答案 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