如何从JSON中获取具有相同名称的记录到Android的java文件中

时间:2014-05-15 07:19:06

标签: android android-json

[{"UserID":"vishi"},{"UserID":"vish"}] 

这是我从php发送的json数据... 我如何在android中获得具有相同名称的这些值 谢谢,

2 个答案:

答案 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.