How can I take this json data

I can take json object like this :

{"title":"this i the title", "description":"this is the description"}

or even json array : data[{"title":"ABCD","name":"Peter"}]

but how can I take :

  {"meta":{"total_rows":1,"uri":"/profile/info/","limit":150,"limit_type":"user",
"requests":2,"reset":3063,"recorded":"2010-12-27 22:48:49"}}

for example I want to take the limit, what should I do ?

This is the class where I can take json data on internet

public class Connection2 {  
    float rating;
String name,air_day,network,air_time,description;

  public Connection2(String url){
        connect_show_info(url);     
    }
    public String returnName(){
        return name;
    }
    private void connect_show_info(String url){  


    // Create the httpclient  
    HttpClient httpclient = new DefaultHttpClient();  

    // Prepare a request object  
    HttpGet httpget = new HttpGet(url);   

    // Execute the request  
    HttpResponse response;  

    // return string  
    String returnString = null;  

    try {  

        // Open the webpage.  
        response = httpclient.execute(httpget);  

        if(response.getStatusLine().getStatusCode() == 200){  
            // Connection was established. Get the content.   

            HttpEntity entity = response.getEntity();  
            // If the response does not enclose an entity, there is no need  
            // to worry about connection release  

            if (entity != null) {  
                // A Simple JSON Response Read  
                InputStream instream = entity.getContent();  

                // Load the requested page converted to a string into a JSONObject.  
                JSONObject json = new JSONObject(convertStreamToString(instream));  

                // Get the query value'  
                String query = json.getString("meta");  

                // Make array of the suggestions
                JSONObject series = json.getJSONObject("series");                    
                // Build the return string.
               // Strings
                air_day = "monday";

                name = series.getString("name");
                //air_day = series.getJSONObject(0).getString("air_day").toString() ;
                //air_time = series.getJSONObject(0).getString("air_time").toString() ;
                //network = series.getJSONObject(0).getString("network").toString();
                //description = series.getJSONObject(0).getString("description").toString();
                // Int

                // Float
                //rating = (float) series.getJSONObject(0).optDouble("rating");


                // Cose the stream.  
                instream.close();  
            }  
        }  
        else {  
            // code here for a response othet than 200.  A response 200 means the webpage was ok  
            // Other codes include 404 - not found, 301 - redirect etc...  
            // Display the response line.  
            returnString = "Unable to load page - " + response.getStatusLine();  
        }  
    }  
    catch (IOException  ex) {  
        // thrown by line 80 - getContent();  
        // Connection was not established  
        returnString = "Connection failed; " + ex.getMessage();  
    }  
    catch (JSONException ex){  
        // JSON errors  
        returnString = "JSON failed; " + ex.getMessage();  
    }  
}

And this is the way I want to take it :

Connection2 serie = new Connection2(url);

    name = (TextView)findViewById(R.id.name);
    description = (TextView)findViewById(R.id.description);
    airday = (TextView)findViewById(R.id.air_day);
    airtime = (TextView)findViewById(R.id.air_time);

    name.setText(serie.returnName());
    description.setText(serie.description);

Answer

Instead of writing lots of monkey code that org.json’s low-level JSON parser requires, I would recommend using one of data-binding capable JSON libs, like:

and define simple POJO structure, like:

public class Response {
  public Meta meta;
}

public class Meta {
  public int total_rows;
  public String uri; // or could be URL or URI
  public int limit;
  public String limit_type; // or an Enum of { user, ... }
  public int requests;
  public int reset;
  public Data recorded;
}

and then use data binding, like:

// Jackson; Gson uses 'Gson' object
Response response = new ObjectMapper().readValue(json, Response.class);

if you want to build requests (or other JSON), similarly you would just do

byte[] jsonToSend = mapper.writeValueAsBytes(requestObject);