I have this JSON string:
{
  "query": {
    "pages": {
      "53113": {
        "pageid": 53113,
        "ns": 0,
        "title": "Charing Cross",
        "coordinates": [
          {
            "lat": 51.5073,
            "lon": -0.12755,
            "primary": "",
            "globe": "earth"
          }
        ]
      },
      "33109245": {
        "pageid": 33109245,
        "ns": 0,
        "title": "Equestrian statue of Charles I, Charing Cross",
        "coordinates": [
          {
            "lat": 51.5073,
            "lon": -0.12768,
            "primary": "",
            "globe": "earth"
          }
        ]
      },
      "4347521": {
        "pageid": 4347521,
        "ns": 0,
        "title": "Greater London Built-up Area",
        "coordinates": [
          {
            "lat": 51.5073,
            "lon": -0.1277,
            "primary": "",
            "globe": "earth"
          }
        ]
      },
      "17867": {
        "pageid": 17867,
        "ns": 0,
        "title": "London",
        "coordinates": [
          {
            "lat": 51.5072,
            "lon": -0.1275,
            "primary": "",
            "globe": "earth"
          }
        ]
      }
    }
  }
}
Ho do I parse it? I wrote this code but I wasn't able to iterate through the json string. I need the "title" objects and the "coordinates" array of "lat" and "lon"...
I solved it in the end. Thank you all solved it like this:
            try {
            // Parsing JSON String or URL
            JSONObject jsonObj = new JSONObject(jsonurl);
            // grabbing objects 
            JSONObject obj_query = jsonObj.getJSONObject(TAG_QUERY);
            JSONObject obj_pages = obj_query.getJSONObject(TAG_PAGES); 
            JSONArray arr_id = obj_pages.names();
            for (int i = 0 ; i < arr_id.length() ; i ++)
            {
                JSONObject obj_id = obj_pages.getJSONObject(arr_id.get(i).toString());
                // Log.i(LOGTAG, "obj_id: " + obj_id.toString());
                String tag_pageid = obj_id.getString(TAG_PAGEID); 
                // String tag_ns = obj_id.getString(TAG_NS);
                String tag_title = obj_id.getString(TAG_TITLE); 
                Log.i(LOGTAG, "page id: " +  tag_pageid); 
                // Log.i(LOGTAG, tag_ns); 
                Log.i(LOGTAG, "Title: " + tag_title);
                // using JSONArray to grab the TAG_COORDINATES 
                JSONArray arr_coord = obj_id.getJSONArray(TAG_COORDINATES);  
                // lets loop through the JSONArray and get all the items 
                for (int j = 0; j < arr_coord.length(); j++) { 
                    // printing the values to the logcat 
                    Log.i(LOGTAG, "lat:" + arr_coord.getJSONObject(j).getString(TAG_LAT).toString()); 
                    Log.i(LOGTAG, "lon: " + arr_coord.getJSONObject(j).getString(TAG_LON).toString()); 
                } 
            }
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
 
     
     
    