我有以下的JSON,我只有在获得元素感兴趣"status","lat"和"lng"。
"status"
"lat"
"lng"
使用 Gson ,可以解析此JSON以获取那些值,而无需创建表示JSON内容的整个类结构吗?
JSON:
{ "result": { "geometry": { "location": { "lat": 45.80355369999999, "lng": 15.9363229 } } }, "status": "OK" }
您无需定义任何新类,只需使用Gson库随附的JSON对象即可。这是一个简单的例子:
JsonParser parser = new JsonParser(); JsonObject rootObj = parser.parse(json).getAsJsonObject(); JsonObject locObj = rootObj.getAsJsonObject("result") .getAsJsonObject("geometry").getAsJsonObject("location"); String status = rootObj.get("status").getAsString(); String lat = locObj.get("lat").getAsString(); String lng = locObj.get("lng").getAsString(); System.out.printf("Status: %s, Latitude: %s, Longitude: %s\n", status, lat, lng);
干净利落。如果发现自己一遍又一遍地重复相同的代码,则可以创建类来简化映射并消除重复。