0

我从 JSONObject 获取元素时遇到问题。

这是我的代码:

public static void getJSON(){
    String googlemap = "http://maps.googleapis.com/maps/api/geocode/json?address=29.0+35.0&sensor=true";

    HttpResponse httpRespone = GET.sendGetReq(googlemap);
    try {
        //Get Stream and convert it to String
        String inputStreamAsString = convertStreamToString(httpRespone.getEntity().getContent());

        //convert from String to JSONObject
        JSONObject json = new JSONObject(inputStreamAsString);
        String formatted_address = json.getJSONObject("results").getString("formatted_address");


    } catch (IllegalStateException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

当我打电话给

String formatted_address = json.getJSONObject("results").getString("formatted_address");

我得到 JSONException...

我的 json 在这里: http ://maps.googleapis.com/maps/api/geocode/json?address=29.0+35.0&sensor= true json 链接

我想取“formatted_address”的值。你能帮我么 ?

4

2 回答 2

2

results是一个JSONArray

{}这是一个JSONObject

[]这是 a JSONArray,可以包含 X JSONObjects,您可以通过for循环或索引(如果您知道的话)访问它

String formatted_address  = json.getJSONArray("results").getJSONObject(0).getString("formatted_address");
于 2013-12-27T22:35:44.360 回答
0
JSONObject jsonObject = new JSONObject("your json")
String formateed_address = jsonObject.getJSONArray("results").
                           getJSONObject(0).getString("formatted_address");
于 2016-10-25T14:06:23.537 回答