我正在尝试将JSON请求的结果读入java 我的JSON请求的部分输出如下所示:
"route_summary": {
"total_distance": 740,
"total_time": 86,
"start_point": "Marienstraße",
"end_point": "Feldbergstraße"
}
我想使用标准的json库来提取total_distance中的值。 但是我似乎只能通过这样做来获得'route_summary':
JSONObject json = null;
json = readJsonFromUrl(request);
json.get("route_summary");
哪里
public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
InputStream is = new URL(url).openStream();
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String jsonText = readAll(rd);
JSONObject json = new JSONObject(jsonText);
return json;
} finally {
is.close();
}
}
我想要的是'进入'route_summary,任何线索/提示都会很棒!
答案 0 :(得分:3)
您需要像以前一样获得route_summary
,并且需要从该对象获取total_distance
。这将返回route_summary.total_distance
。
代码示例:
JSONObject object = new JSONObject(s);
int totalDistance = object.getJSONObject("route_summary").getInt("total_distance");
答案 1 :(得分:0)
我建议你使用GSON库。您可以创建表示消息的类,然后通过调用函数gson.fromJson(message, YourMessageClass.class).getRoute_summary()
自动将JSON映射到对象。
以下是此类方法的示例:https://sites.google.com/site/gson/gson-user-guide/#TOC-Object-Examples