从Json数组中提取信息 [英] Pull information from Json array
本文介绍了从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屋!
查看全文