Я могу взять объект json следующим образом:
{"title":"this i the title", "description":"this is the description"}
или даже json array : data[{"title":"ABCD","name":"Peter"}]
но как я могу взять:
{"meta":{"total_rows":1,"uri":"\/profile\/info\/","limit":150,"limit_type":"user",
"requests":2,"reset":3063,"recorded":"2010-12-27 22:48:49"}}
например, я хочу взять предел, что мне делать?
Это класс, где я могу взять данные JSON в интернете
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();
}
}
И это так, как я хочувзять его:
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);