不能从java中的JSONObject中获取任何元素

时间:2013-12-27 22:33:09

标签: java android json jsonobject

我从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 link

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

2 个答案:

答案 0 :(得分:2)

resultsJSONArray

{}这是JSONObject

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

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

答案 1 :(得分:0)

JSONObject jsonObject = new JSONObject("your json")
String formateed_address = jsonObject.getJSONArray("results").
                           getJSONObject(0).getString("formatted_address");