如何使用java解析来自REST webserivce的Json响应

时间:2016-03-11 05:31:21

标签: java json rest

我有REST webservice,它以Json格式给出响应,我在一个变量中本地分配了Json响应。但现在我想知道我们是否可以解析以及如何解析。以下是来自webservice的回复。

{
  "actionresult": "successful",
  "licenceDetail": [
    {
      "licence": "SA123",
      "type": "SZ Abalone",
      "pendingtrip": [

      ],
      "Vessel": [
        {
          "name": "Red Fire",
          "number": "SA123"
        }
      ],
      "defaultvalue": {
        "LandingPort": "Anxious Bay",
        "DepartPort": "Acramans Creek",
        "Vessel": "SA123",
        "AreaFishing": "SA"
      }
    },
    {
      "licence": "K01",
      "type": "Blue Crab",
      "pendingtrip": [

      ],
      "Vessel": [
        {
          "name": "Abrolhos Spirit",
          "number": "K01"
        }
      ],
      "defaultvalue": null
    }
  ]
}

任何帮助将不胜感激。 问候, 罗希特夏尔

3 个答案:

答案 0 :(得分:0)

使用Jackson2库将json字符串转换为Object类。

答案 1 :(得分:0)

我总是使用Gson。这很容易使用。

Gson gson = new GsonBuilder().create();
MyClass myClass = gson.fromJson(jsonString, MyClass.class);

Maven依赖

    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.4</version>
    </dependency>

答案 2 :(得分:0)

在这里,您可以详细阅读ObjectJson

   JsonReader rdr = Json.createReader(is)) {

 JsonObject obj = rdr.readObject();
  JsonArray results = obj.getJsonArray("licenceDetail");
 for (JsonObject result : results.getValuesAs(JsonObject.class)) {
 String Landing   result.getJsonObject("Default Value").getString("Landing port");

 }