轻量级jar实现JSON解析和放大对象映射

时间:2016-02-10 05:35:40

标签: java json gson

任务1

json1:

[
  {
    "name": "test1",
    "details": {
      "url": "url1"
    }
  },
  {
    "name": "test2",
    "details": {
      "url": "url2"
    }
  }
]

我需要解析这个JSON&获取网址字段。

任务2

json2:

{
  "id": 1234,
  "name": "Devender Yadav",
  "location": "Noida"
}

我需要将这个JSON映射到下面提到的java对象。

public class UserDetail {

    private String name;

    private String location;

    //getters setters
}

我正在使用 gson (版本2.5)进行对象映射&用于解析的 json (版本20151123)。

我不想使用两个罐来完成这么简单的任务。

如何使用1个罐子(任何轻质罐子)来实现这个目标?

1 个答案:

答案 0 :(得分:0)

我检查了 gson &发现了Parsing&使用它可以实现对象映射。

解析:

JsonArray jArray = new JsonParser().parse(json1).getAsJsonArray();

for (int j = 0; j < jArray.size(); j++) {
    JsonObject jObject = jArray.get(j).getAsJsonObject();
    String url = jObject.getAsJsonObject("details").get("url").getAsString();
 }

对象映射:

JsonObject jObject = new JsonParser().parse(json2).getAsJsonObject();
Gson gson = new Gson();
UserDetail userDetail = gson.fromJson(jObject.toString(), UserDetail.class);