如何将生成的JSON数据读入Java?

时间:2012-06-30 20:09:31

标签: java json

我正在尝试将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,任何线索/提示都会很棒!

2 个答案:

答案 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