title: Parsing json objects and json arrays in Android
body: <p>I have this JSON string:</p>
  
  <pre><code>{
    "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"
            }
          ]
        }
      }
    }
  }
  </code></pre>
  
  <p>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"...</p>
  
  <p>I solved it in the end. Thank you all
  solved it like this:</p>
  
  <pre><code>            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 &lt; 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 &lt; 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();
          }
  </code></pre>