Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
516 views
in Technique[技术] by (71.8m points)

java - Pull information from Json array

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 Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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(" {
" + "         "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"
" + "                         }
" + "        }  
"
        + "
" + "    ]
" + "   }");

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);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...