我们要处理的json串为:
String s = "{\"msg\":\"ok\",\"code\":\"0\",\"data\":{\"tasks\":[{\"id\":1,\"userId\":\"2\",\"summary\":\"好好学习,天天向上\",\"addTime\":\"2017-04-29 18:49:49\",\"status\":0}]}}";
目的是为了将s中的tasks转为对应类型的List
注:Task为自定义数据类型,其类型与传回数据中Task类型相同
String s;//待处理的json数据
JsonParser jsonParser = new JsonParser();
JsonObject jsonObject = (JsonObject) jsonParser.parse(s);
int code = jsonObject.get("code").getAsInt();
//code == 0代表请求成功
if(code == 0){
JsonArray jsonArray = jsonObject.get("data").getAsJsonObject().get("tasks").getAsJsonArray();
List<Task>taskList = new ArrayList<>();
for(int i = 0;i<jsonArray.size();i++){
taskList.add(jsonArray.jsonArray);
JsonObject t = jsonArray.get(i).getAsJsonObject();
Task task = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss")
.create()
.fromJson(t,Task.class);
taskList.add(task);
}
}