[{"UserID":"vishi"},{"UserID":"vish"}]
这是我从php发送的json数据... 我如何在android中获得具有相同名称的这些值 谢谢,
答案 0 :(得分:3)
JSONArray array = new JSONArray(...);
int length = array.length() ;
for (int i = 0; i < length; i++) {
JSONObject obj = array.optJSONObject(i);
if (obj != null) {
String userId = obj.optString("UserID");
}
}
答案 1 :(得分:1)
[
{
"UserID": "vishi" // key is UserId. value is vishi
},
{
"UserID": "vish"
}
]
密钥UserID
是一样的。只需循环遍历数组并获取值
ArrayList<String> list = new ArrayList<String>();
JSONArray jr = new JSONArray("your json");
for(int i=0i<jr.length();i++)
{
JSONObject jb = jr.getJSONObject(i);
String value= jb.getString("UserID");
list.add(value);
}
注意:
Blackbelt的答案也会起作用,它也有空检查原因optJSONObject()
也可以返回null。这是一种更好的方法
借鉴黑带的答案
JSONObject obj = array.optJSONObject(i);
if (obj != null) {
String userId = obj.optString("UserID");
}
来自文档
public JSONObject optJSONObject (String name)
Added in API level 1
Returns the value mapped by name if it exists and is a JSONObject. Returns null otherwise.