[英]Android JSON parser Array
The Class: 班级:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Read().execute("masjids");
}
public JSONObject retrieveInfo(String radius) throws ClientProtocolException,
IOException, JSONException {
StringBuilder url = new StringBuilder(
"http://iqamah.org/api/index.php?lat=43&long=-79&radius=");
url.append(radius);
HttpClient httpclient = new DefaultHttpClient();
HttpGet get = new HttpGet(url.toString());
HttpResponse r = httpclient.execute(get);
HttpEntity e = r.getEntity();
String data = EntityUtils.toString(e);
JSONObject timeline = new JSONObject(data);
return timeline.getJSONObject("1");
}
private class Read extends AsyncTask<String, Integer, String> {
ProgressDialog pd = null;
@Override
protected void onPreExecute() {
super.onPreExecute();
pd = new ProgressDialog(MainActivity.this);
pd.setTitle("Loading...");
pd.setMessage("Please wait...");
pd.setCancelable(false);
pd.show();
}
protected String doInBackground(String... arg0) {
// TODO Auto-generated method stub
try {
JSONObject json = retrieveInfo("200");
return json.getString(arg0[0]);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String status) {
super.onPostExecute(status);
pd.dismiss();
TextView day = (TextView) findViewById(R.id.displayDay);
day.setText("Masjid: " + status);
}
}
}
The JSON: JSON:
{
"status": "ok",
"masjids": [
{
"id": "44|Madina Masjid|1200 Danforth Ave, Toronto|49.99"
},
{
"id": "39|Darul Taqwa|1 Thorncliffe Park Drive, Toronto|51.59"
},
{
"id": "43|Darul Khair|25 St Dennis, Toronto|52.12"
}
]
}
I am trying to access the masjids->id[0]
array, how can I do this with the above code? 我正在尝试访问
masjids->id[0]
数组,如何使用上面的代码执行此操作?
String data = "{ "status": "ok", "masjids": [ { "id": "44|Madina Masjid|1200 Danforth Ave, Toronto|49.99" }, { "id": "39|Darul Taqwa|1 Thorncliffe Park Drive, Toronto|51.59" }, { "id": "43|Darul Khair|25 St Dennis, Toronto|52.12" } ] }";
JSONObject jObj = new JSONObject(data);
JSONArray jArray_masjids = jObj.getJSONArray("masjids");
String address = jArray_masjids.getJSONObject(0).getString("id");
JSONObject timeline = new JSONObject(data);
JasonArry jarry=timeline.getJsonArray("masjids");
for (int i = 0; i < jarry.length(); i++) {
JSONObject explrObject = jsonArray.getJSONObject(i);
String newStr = explrObject.getString("id");
}
Try this, 尝试这个,
String data = "{ "status": "ok", "masjids": [ { "id": "44|Madina Masjid|1200 Danforth Ave, Toronto|49.99" }, { "id": "39|Darul Taqwa|1 Thorncliffe Park Drive, Toronto|51.59" }, { "id": "43|Darul Khair|25 St Dennis, Toronto|52.12" } ] }";
JSONObject jObj = new JSONObject(data);
JSONArray jArray_masjids = jObj.getJSONArray("masjids");
for(int i = 0 ;i<jArray_masjids;i++){
String address = jsonArray.getJSONObject(i).getString("id");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.