从Json数组中提取信息 [英] Pull information from Json array

查看:140
本文介绍了从Json数组中提取信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所有,

在请求获取用户列表后,我有以下JSON响应。我想用userName只拉一个用户的id。例如,如果我想用户名Test1的id,该怎么做?任何帮助将不胜感激。

  {
displayLength:4,
iTotal :
users:[
{
id:2,
userName:Test1,
Group :{id:1
name:Test-Admin
}
},
{
id:17,
userName :Test2,
Group:{id:1
name:Test-Admin
}
},
{
ID:32,
userName:Test3,
Group:{id:1
name:Test-Admin
}

id:35,
userName:Test4,
Group:{id:1
name: Test-Admin
}
}



$ / code>

谢谢,

解决方案

看下面的代码是否有帮助。只需将用户名传递给 userName 变量,让代码为您找到 userId

  JSONObject json = new JSONObject({\ n+\displayLength \:\4 \,
+\iTotal \:\20 \,\\\
+\users\:[\\\
+ {\ n
+\id \:\2 \,\\\
+\userName \:\Test1 \, \\\

+\Group \:{id:1,\\\
+name:\Test-Admin \\\\

+ } \\\
+},\\\
+{\\\
+\id \:\17 \,\\\

+\ userName \:\Test2 \,\\\
+\Group \:{id:1,\\\

+name:\ Admin \\\\
+} \\\
+},\\\

+ {\ n+\id \:\32 \,\\\
+\userName \:\Test3 \,\\\

+\Group \:{id:1,\\\
+name:\Test-Admin \\\\

+} \ n +},\\\
+{\\\
+\id \:\35 \,\\\

+\userName \ :\Test4 \,\\\
+\Group \:{id:1,\\\

+name:\Test-Admin \\\ \\ n+} \\\
+} \\\

+\\\
+] \\\
+});

JSONArray array = json.getJSONArray(users);

String userName =Test1;
Integer userId = null;

for(int i = 0; i< array.length()&& userId == null; i ++){

JSONObject jsonIn =(JSONObject)array获得(ⅰ);

if(jsonIn.optString(userName)。equals(userName)){
userId = jsonIn.optInt(id);



System.out.println(User Name for User Name'+ userName +'is:+ userId);


All,

I have following JSON response after request get list of users. I want to pull just only one user's id using userName. For example if i want id of userName Test1, how to do that? Any help will be appreciated.

      {
         "displayLength": "4",
         "iTotal": "20",
         "users": [
         {
            "id": "2",
            "userName": "Test1",
            "Group": {   id:1
                         name:"Test-Admin"
                         }
        },
        {
            "id": "17",
            "userName": "Test2",
            "Group": {   id:1
                         name:"Test-Admin"
                         }
        },
        {
            "id": "32",
            "userName": "Test3",
            "Group": {   id:1
                         name:"Test-Admin"
                         }
        },
        {
            "id": "35",
            "userName": "Test4",
            "Group": {   id:1
                         name:"Test-Admin"
                         }
        }  

    ]
   }

Thanks,

解决方案

See if this below code helps. Just pass user name to userName variable and let the code find the userId for you.

JSONObject json = new JSONObject(" {\n" + "         \"displayLength\": \"4\",\n"
        + "         \"iTotal\": \"20\",\n" + "         \"users\": [\n" + "         {\n"
        + "            \"id\": \"2\",\n" + "            \"userName\": \"Test1\",\n"
        + "            \"Group\": {   id:1,\n" + "                         name:\"Test-Admin\"\n"
        + "                         }\n" + "        },\n" + "        {\n" + "            \"id\": \"17\",\n"
        + "            \"userName\": \"Test2\",\n" + "            \"Group\": {   id:1,\n"
        + "                         name:\"Test-Admin\"\n" + "                         }\n" + "        },\n"
        + "        {\n" + "            \"id\": \"32\",\n" + "            \"userName\": \"Test3\",\n"
        + "            \"Group\": {   id:1,\n" + "                         name:\"Test-Admin\"\n"
        + "                         }\n" + "        },\n" + "        {\n" + "            \"id\": \"35\",\n"
        + "            \"userName\": \"Test4\",\n" + "            \"Group\": {   id:1,\n"
        + "                         name:\"Test-Admin\"\n" + "                         }\n" + "        }  \n"
        + "\n" + "    ]\n" + "   }");

JSONArray array = json.getJSONArray("users");

String userName = "Test1";
Integer userId = null;

for (int i = 0; i < array.length() && userId == null; i++) {

    JSONObject jsonIn = (JSONObject) array.get(i);

    if (jsonIn.optString("userName").equals(userName)) {
        userId = jsonIn.optInt("id");
    }
}

System.out.println("User ID for User Name '" + userName + "' is : " + userId);

这篇关于从Json数组中提取信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆