我有以下 JSON,我只对获取元素 "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);
简单明了。如果您发现自己一遍又一遍地重复相同的代码,那么您可以创建类来简化映射并消除重复。
https://stackoverflow.com/questions/16595493/