title: Value of type java.lang.String cannot be converted to JSONArray in Android(repost)
body: <p>I am repost this coz I dont find the solution for this problem...</p>
  
  <p>here is error</p>
  
  <pre><code>org.json.JSONException:Value &lt;!DOCTYPE of type java.lang.String cannot be converted to JSONArray
  </code></pre>
  
  <p>here is JSON output:</p>
  
  <pre><code>[{"name":"Muhaimin","address":"Sylhet","bgroup":"o+"}]
  </code></pre>
  
  <p>here is class code:</p>
  
  <pre><code>entpackage com.example.blood;
  
  import java.io.BufferedReader;
  import java.io.InputStream;
  import java.io.InputStreamReader;
  
  import org.apache.http.HttpEntity;
  import org.apache.http.HttpResponse;
  import org.apache.http.client.HttpClient;
  import org.apache.http.client.methods.HttpPost;
  import org.apache.http.impl.client.DefaultHttpClient;
  import org.json.JSONArray;
  import org.json.JSONObject;
  
  import android.os.Bundle;
  import android.os.StrictMode;
  import android.annotation.SuppressLint;
  import android.app.Activity;
  import android.util.Log;
  import android.view.Menu;
  import android.widget.TextView;
  import android.widget.Toast;
  
  @SuppressLint("NewApi")
  public class MainActivity extends Activity {
  
  TextView resultView;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  StrictMode.enableDefaults();
  resultView=(TextView) findViewById(R.id.result);
  getData();
  }
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
  }
  
  public void getData()
  {
   String result="";
   InputStream isr=null;
   try{
      HttpClient httpclient = new DefaultHttpClient();
      HttpPost httppost=new HttpPost("http://10.0.2.2/blood/index.php");
      httppost.setHeader("Content-Type", "application/json");
       httppost.setHeader("Accept", "JSON");
      HttpResponse response=httpclient.execute(httppost);
      HttpEntity entity=response.getEntity();
      isr=entity.getContent();
    }catch(Exception e){
      String err=e.toString();
      resultView.setText("Could not connect to database"+err);
      Log.e("error", err);
    }
  
  try{
      BufferedReader reader=new BufferedReader(new InputStreamReader(isr,"iso-8859-1"),8);
      StringBuilder sb=new StringBuilder();
      String line=null;
      while((line = reader.readLine()) != null){
          sb.append(line + "\n");
      }
      isr.close();
  
      result=sb.toString();
     }catch(Exception e){
      String err2=e.toString();
      resultView.setText("Error coverting result"+err2);
      Log.e("error", err2);
    }
    try{
      String s="";
      JSONArray jArray=new JSONArray(result);
  
      for(int i=0;i&lt;jArray.length();i++){
          JSONObject json=jArray.getJSONObject(i);
          s= s + 
                  "Name :"+json.getString("name")+"\n"+
                  "Blood Group :"+json.getString("bgroup")+"\n" +
                  "Address :"+json.getString("address")+"\n\n";
      }
      resultView.setText(s);
    }catch(Exception e){
      String err1=e.toString();
      resultView.setText("xxx"+err1);
      Log.e("error", err1);
   }
   }
  
  }
  </code></pre>
  
  <p>here is php code:</p>
  
  <pre><code>  &lt;?php
  $con=mysql_connect("localhost","root","","BloodDB");
  mysql_select_db("BloodDB",$con);
  
  $result=mysql_query("SELECT name,address,bgroup FROM tbl_blood_donor");
  
  while($row=mysql_fetch_assoc($result))
  {
      $output[]=$row;
  }
  print(json_encode($output));
  mysql_close($con);
   ?&gt;
  </code></pre>
  
  <p>Now how to solve this problem.I am working in localhost.thanks in advance</p>