Parsing JSON de HTTPResponse

Mon JSON ressemble à ceci-

{"ipinfo": {
    "ip_address":"4.2.2.2",
     "ip_type":"Mapped",

                "Location":{

                            "continent":"north america",

                            "latitude":33.499,

                            "longitude":-117.662,

                        "CountryData":{

                                "country":"united states",

                                "country_code":"us"},

                        "region":"southwest",

                        "StateData":{

                                "state":"california",

                                "state_code":"ca"},

                        "CityData":{

                                "city":"san juan capistrano",

                                "postal_code":"92675",

                                "time_zone":-8}}

    }}

C'est mon code ci-dessous qui tente d'accéder aux membres d'éléments dans un JSONArray

    try {
        String url = service + version + method + ipAddress + format;
        StringBuilder builder = new StringBuilder();
        httpclient = new DefaultHttpClient();
        httpget = new HttpGet(url);
        httpget.getRequestLine();
        response = httpclient.execute(httpget);
        HttpEntity entity = response.getEntity();
        if (entity != null) {
            InputStream inputStream = entity.getContent();
            bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
            for (String line = null; (line = bufferedReader.readLine()) != null;) {
                builder.append(line).append("\n");
            }
            //Exception getting thrown in below line
            JSONArray jsonArray = new JSONArray(builder.toString());
            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject jsonObject = jsonArray.getJSONObject(i);
            }
        }

    } catch (Exception e) {
        getLogger().log(LogLevel.ERROR, e.getMessage());
    } finally {
        bufferedReader.close();
        httpclient.getConnectionManager().shutdown();
    }

Je suis toujours exception à cette ligne-

JSONArray jsonArray = new JSONArray(builder.toString());

Ci-dessous est l'exception se faire jeter

org.json.JSONException: A JSONArray text must start with '[' at character 1

Quelqu'un peut-il me suggérer ce mal, je le fais dans mon code? Et comment puis-je l'améliorer?

Je pense que le message d'erreur est assez précis. le JSON que vous avez posté n'a pas de tableaux, de simples objets. JSON syntaxe est json.org

OriginalL'auteur arsenal | 2012-10-13