如何在 Java 中从这个 JSON 中获取名字姓氏和 ID 就像使用 Gson google

我是这个 java 和 Gson (google JSON) 的新手。这是我从服务器获取的 JSON 数据。它有数组和对象。我必须通过谷歌图书馆(Gson)反序列化


{

   "d":{

      "results":[

         {

            "__metadata":{

               "id":"employeeHRSet('00005011')",

               "uri":employeeHRSet('00005011')",

               "type":"SRV.employeeHR"

            },

            "Gender":"M",

            "ImFname":"",

            "ProfilePic":"user_image.png",

            "ImLname":"",

            "ImPernr":"00000000",

            "ImSuper":"",

            "ImUname":"",

            "ExOk":"",

            "Perno":"00005011",

            "CompCode":"1000001013",

            "Name":"Nishan Thevathosan",

            "LastName":"Thevathosan",

            "LastName2":"Nishan",

            "Firstname":"Nishan",

            "Userid":"GEES02",

            "Email":"NISHAN@gamail.COM",

            "Celno":"",

            "Isexecutive":"Y",

            "Designation":"80000000"

         }

      ]

   }

}

我需要从这个 JSON 数据中获取 Firstname ,LastName ,Email ,Userid 。我正在做一项工作,我对此感到震惊。我尝试过一些这样的想法,但没有奏效。


  JsonObject jsonObject = new JsonParser().parse(RESTRespArr).getAsJsonObject();

    System.out.println("jsonObject working");

    System.out.println(jsonObject.getAsString());

    JsonElement d = jsonObject.get("d");

    System.out.println("d working");

    System.out.println(d.getAsString());

    sonElement results = ((JsonObject) d).get("results");

    System.out.println("results working");

    System.out.println(results.getAsString());    

    System.out.println(((JsonObject) results).get("LastName").getAsString()); 


Smart猫小萌
浏览 325回答 2
2回答

holdtom

它对我有用。final JsonElement lastName = results.getAsJsonArray().get(0).getAsJsonObject().get("LastName");结果是JsonArray的JsonObjects,你不能投JsonObject。因此,获取数组的第一个元素并将其转换为JsonObjectwithgetAsJsonObject方法。并获取您需要的字段。详细:如果JSON在curlybrackets任何价值{ ... },这是jsonObject。如果值在 中[ ... ],则为JsonArray。您还可以获取哪个是对象或数组,并从中获取相关字段。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java