title: Retrieving Json Array
body: <p>I am trying to retrieve the values from the following url: <a href="http://rentopoly.com/ajax.php?query=Bo" rel="nofollow noreferrer">http://rentopoly.com/ajax.php?query=Bo</a>. I want to get the values of all the suggestions to be displayed in a list view one by one. This is how i want to do...</p>
  
  <pre><code>public class AlertsAdd {
   public ArrayList &lt;JSONObject&gt; retrieveJSONArray(String urlString) {
    String result = queryRESTurl(urlString);
    ArrayList &lt;JSONObject&gt; ALERTS = new ArrayList &lt;JSONObject&gt; ();
    if (result != null) {
  
     try {
      JSONObject json = new JSONObject(result);
      JSONArray alertsArray = json.getJSONArray("suggestions");
      for (int a = 0; a &lt; alertsArray.length(); a++) {
       JSONObject alertitem = alertsArray.getJSONObject(a);
       ALERTS.add(alertitem);
      }
      return ALERTS;
     } catch (JSONException e) {
      Log.e("JSON", "There was an error parsing the JSON", e);
     }
    }
    JSONObject myObject = new JSONObject();
    try {
     myObject.put("suggestions", myObject.getJSONArray("suggestions"));
     ALERTS.add(myObject);
    } catch (JSONException e1) {
     Log.e("JSON", "There was an error creating the JSONObject", e1);
    }
    return ALERTS;
   }
   private String queryRESTurl(String url) {
    // URLConnection connection;
    HttpClient httpclient = new DefaultHttpClient();
    HttpGet httpget = new HttpGet(url);
    HttpResponse response;
    try {
     response = httpclient.execute(httpget);
     HttpEntity entity = response.getEntity();
     if (entity != null) {
      InputStream instream = entity.getContent();
      String result = convertStreamToString(instream);
      instream.close();
      return result;
     }
    } catch (ClientProtocolException e) {
     Log.e("REST", "There was a protocol based error", e);
    } catch (IOException e) {
     Log.e("REST", "There was an IO Stream related error", e);
    }
    return null;
   }
  
   /**
    * To convert the InputStream to String we use the
    * BufferedReader.readLine() method. We iterate until the BufferedReader
    * return null which means there's no more data to read. Each line will
    * appended to a StringBuilder and returned as String.
    */
   private String convertStreamToString(InputStream is) {
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();
  
    String line = null;
    try {
     while ((line = reader.readLine()) != null) {
      sb.append(line + "\n");
     }
    } catch (IOException e) {
     e.printStackTrace();
    } finally {
     try {
      is.close();
     } catch (IOException e) {
      e.printStackTrace();
     }
    }
    return sb.toString();
   }
  }
  </code></pre>
  
  <p>Here's the adapter code...</p>
  
  <pre><code>public class AlertsAdapter extends ArrayAdapter &lt;JSONObject&gt; {
   public AlertsAdapter(Activity activity, List &lt;JSONObject&gt; alerts) {
    super(activity, 0, alerts);
   }
   @Override
   public View getView(int position, View convertView, ViewGroup parent) {
    Activity activity = (Activity) getContext();
    LayoutInflater inflater = activity.getLayoutInflater();
    View rowView = inflater.inflate(R.layout.list_text, null);
    JSONObject imageAndText = getItem(position);
    TextView textView = (TextView) rowView.findViewById(R.id.last_build_stat);
    try {
     textView.setText((String) imageAndText.get("suggestions"));
    } catch (JSONException e) {
     textView.setText("JSON Exception");
    }
    return rowView;
   }
  }
  </code></pre>
  
  <p>Here's the logcat...</p>
  
  <pre><code>    04-30 13:09:46.656: INFO/ActivityManager(584): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.WorldToyota/.Alerts }
  04-30 13:09:50.417: ERROR/JSON(924): There was an error parsing the JSON
  04-30 13:09:50.417: ERROR/JSON(924): org.json.JSONException: JSONArray[0] is not a JSONObject.
  04-30 13:09:50.417: ERROR/JSON(924):     at org.json.JSONArray.getJSONObject(JSONArray.java:268)
  04-30 13:09:50.417: ERROR/JSON(924):     at com.WorldToyota.AlertsAdd.retrieveJSONArray(AlertsAdd.java:30)
  04-30 13:09:50.417: ERROR/JSON(924):     at com.WorldToyota.Alerts.onCreate(Alerts.java:20)
  04-30 13:09:50.417: ERROR/JSON(924):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
  04-30 13:09:50.417: ERROR/JSON(924):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
  04-30 13:09:50.417: ERROR/JSON(924):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
  04-30 13:09:50.417: ERROR/JSON(924):     at android.app.ActivityThread.access$2100(ActivityThread.java:116)
  04-30 13:09:50.417: ERROR/JSON(924):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
  04-30 13:09:50.417: ERROR/JSON(924):     at android.os.Handler.dispatchMessage(Handler.java:99)
  04-30 13:09:50.417: ERROR/JSON(924):     at android.os.Looper.loop(Looper.java:123)
  04-30 13:09:50.417: ERROR/JSON(924):     at android.app.ActivityThread.main(ActivityThread.java:4203)
  04-30 13:09:50.417: ERROR/JSON(924):     at java.lang.reflect.Method.invokeNative(Native Method)
  04-30 13:09:50.417: ERROR/JSON(924):     at java.lang.reflect.Method.invoke(Method.java:521)
  04-30 13:09:50.417: ERROR/JSON(924):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
  04-30 13:09:50.417: ERROR/JSON(924):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
  04-30 13:09:50.417: ERROR/JSON(924):     at dalvik.system.NativeStart.main(Native Method)
  04-30 13:09:50.688: ERROR/JSON(924): There was an error creating the JSONObject
  04-30 13:09:50.688: ERROR/JSON(924): org.json.JSONException: JSONObject["suggestions"] not found.
  04-30 13:09:50.688: ERROR/JSON(924):     at org.json.JSONObject.get(JSONObject.java:287)
  04-30 13:09:50.688: ERROR/JSON(924):     at org.json.JSONObject.getJSONArray(JSONObject.java:362)
  04-30 13:09:50.688: ERROR/JSON(924):     at com.WorldToyota.AlertsAdd.retrieveJSONArray(AlertsAdd.java:41)
  04-30 13:09:50.688: ERROR/JSON(924):     at com.WorldToyota.Alerts.onCreate(Alerts.java:20)
  04-30 13:09:50.688: ERROR/JSON(924):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
  04-30 13:09:50.688: ERROR/JSON(924):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
  04-30 13:09:50.688: ERROR/JSON(924):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
  04-30 13:09:50.688: ERROR/JSON(924):     at android.app.ActivityThread.access$2100(ActivityThread.java:116)
  04-30 13:09:50.688: ERROR/JSON(924):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
  04-30 13:09:50.688: ERROR/JSON(924):     at android.os.Handler.dispatchMessage(Handler.java:99)
  04-30 13:09:50.688: ERROR/JSON(924):     at android.os.Looper.loop(Looper.java:123)
  04-30 13:09:50.688: ERROR/JSON(924):     at android.app.ActivityThread.main(ActivityThread.java:4203)
  04-30 13:09:50.688: ERROR/JSON(924):     at java.lang.reflect.Method.invokeNative(Native Method)
  04-30 13:09:50.688: ERROR/JSON(924):     at java.lang.reflect.Method.invoke(Method.java:521)
  04-30 13:09:50.688: ERROR/JSON(924):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
  04-30 13:09:50.688: ERROR/JSON(924):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
  04-30 13:09:50.688: ERROR/JSON(924):     at dalvik.system.NativeStart.main(Native Method)
  </code></pre>
  
  <p>Plz help me parsing this script and displaying the values in list format....</p>