简体   繁体   English

需要从 Java 中的 JSON 响应中提取特定值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM