0

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に'入ることです、どんな手がかり/ヒントも素晴らしいでしょう!

4

2 に答える 2

3

route_summaryすでに行ったように、を取得する必要があり、そのオブジェクトからを取得する必要がありtotal_distanceます。これにより、が返されますroute_summary.total_distance

コードサンプル:

    JSONObject object = new JSONObject(s);
    int totalDistance = object.getJSONObject("route_summary").getInt("total_distance");
于 2012-06-30T20:18:18.930 に答える
0

GSONライブラリの使用をお勧めします。メッセージを表すクラスを作成し、関数を呼び出すことでJSONをオブジェクトに自動的にマップできますgson.fromJson(message, YourMessageClass.class).getRoute_summary()

このようなアプローチの例を次に示します。https ://sites.google.com/site/gson/gson-user-guide/#TOC-Object-Examples

于 2012-06-30T20:18:47.423 に答える