我正在使用谷歌地理編碼API進行反向地理編碼。如何在Json樹中按名稱查找節點?
結果以JSON返回哪個我解析在下面的方式 -
Map<String, Object> parsedJson = new ObjectMapper().readValue(
response.getEntity(String.class),
new TypeReference<Map<String, Object>>() {
});
List<Object> results = (List<Object>) parsedJson.get("results");
// From first result get geometry details
Map<String, Object> geometry = (Map<String, Object>) ((Map<String, Object>) results
.get(0)).get("geometry");
Map<String, Object> location = (Map<String, Object>) geometry
.get("location");
Map<String, Double> coordinates = new HashMap<String, Double>();
coordinates.put("latitude", (Double) location.get("lat"));
coordinates.put("longitude", (Double) location.get("lng"));
如果響應包含的JSON服務器返回。
是否有可能直接引用位置節點而不經過所有這些?例如。是有什麼樣 -
new ObjectMapper().readValue(json).findNodeByName("lat").getFloatValue();
我已經閱讀並JsonNode樹傑克遜的API文檔,但似乎只有當你要遍歷整棵樹,他們是有用的。
什麼是僅提取特定節點的最簡單方法?
+1實際回答原來的問題,即使這不是我會採取的方法。 :) – 2012-04-26 04:54:17