[英]need to extract a particular value from the JSON response in java
I have a code where i get a Json response in array format我有一个代码,我在其中以数组格式获得 Json 响应
{ "data": {
"findAllUsers": {
"pendingUsers": [
{
"userId": "123",
"firstName": "FirstNamemz8",
"lastName": "LastName0Hz",
"status": "Pending"
},
{
"userId": "456",
"firstName": "FirstNameEgl",
"lastName": "LastNameVCC",
"status": "Pending"
}
]
} }}
I need to get the list of userID in list format.我需要以列表格式获取用户 ID 列表。 below is the code i used which doesnt works.
下面是我使用的代码,它不起作用。 Kindly help me out in this with working code.
请用工作代码帮助我解决这个问题。
package com.deedsing;
import com.deedsing.bean.SnowIncident;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class Test {
public static void main(String[] args) {
String jString="{ \"data\": {\r\n" +
"\"findAllUsers\": {\r\n" +
" \"pendingUsers\": [\r\n" +
" {\r\n" +
" \"userId\": \"123\",\r\n" +
" \"firstName\": \"FirstNamemz8\",\r\n" +
" \"lastName\": \"LastName0Hz\",\r\n" +
" \"status\": \"Pending\"\r\n" +
" },\r\n" +
" {\r\n" +
" \"userId\": \"456\",\r\n" +
" \"firstName\": \"FirstNameEgl\",\r\n" +
" \"lastName\": \"LastNameVCC\",\r\n" +
" \"status\": \"Pending\"\r\n" +
" }\r\n" +
" ]\r\n" +
"} }}";
Gson json = new GsonBuilder().create();
JsonElement elem = new JsonParser().parse(jString);
JsonObject obj = elem.getAsJsonObject();
JsonArray jarray = obj.get("data").getAsJsonObject().get("findAllUsers").getAsJsonObject().get("pendingUsers").getAsJsonArray();
for(int i = 0; i < jarray.size(); i++)
{
JsonElement elem2 = jarray.get(i);
JsonObject obj2 = elem2.getAsJsonObject();
System.out.println("UserID -->" + obj2.get("userId").getAsString());
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.