android - Value error of type java.lang.String cannot be converted to JSONArray -


i'm new json , android simple app, want request data database in mysql , getting exception

this code

 final getdatafromdb getdb = new getdatafromdb();  @override public void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);      tl = (tablelayout) findviewbyid(r.id.maintable);       new thread(new runnable() {         public void run() {             data = getdb.getdatafromdb();             system.out.println(data);              runonuithread(new runnable() {                  @override                 public void run() {                     arraylist<users> users = parsejson(data);                     adddata(users);                 }             });          }     }).start(); }  public arraylist<users> parsejson(string result) {     arraylist<users> users = new arraylist<users>();     try {         jsonobject jsonobj = new jsonobject(result);         jsonarray jarray = jsonobj.getjsonarray("users");         (int = 0; < jarray.length(); i++) {             jsonobject json_data = jarray.getjsonobject(i);             users user = new users();             user.setid(json_data.getint("id"));             user.setjenis_kendaraan(json_data.getstring("jenis_kendaraan"));             user.setbarang_sitaan(json_data.getstring("barang_sitaan"));             users.add(user);         }     } catch (jsonexception e) {         log.e("log_tag", "error parsing data " + e.tostring());     }     return users; } 

here users.java class

public class users {  int id; string jenis_kendaraan; string barang_sitaan;  public int getid() {     return id; } public void setid(int id) {     this.id = id; } public string getjenis_kendaraan() {     return jenis_kendaraan; } public void setjenis_kendaraan(string jenis_kendaraan) {     this.jenis_kendaraan = jenis_kendaraan; } public string getbarang_sitaan() {     return barang_sitaan; } public void setbarang_sitaan(string barang_sitaan) {     this.barang_sitaan = barang_sitaan; }  } 

and getdatafromdb.java

public class getdatafromdb {  public string getdatafromdb() {     try {          httppost httppost;         httpclient httpclient;         httpclient = new defaulthttpclient();         httppost = new httppost(                 "http://192.168.0.102/koneksi/getdata.php"); // change url.....         responsehandler<string> responsehandler = new basicresponsehandler();         final string response = httpclient.execute(httppost,                 responsehandler);          return response.trim();      } catch (exception e) {         system.out.println("error : " + e.getmessage());         return "error";     } } } 

and php code, (i using ampps)

<?php  mysql_connect("localhost","root","mysql"); // host, username, password... mysql_select_db("tilang"); // db name...  $q=mysql_query("select id, jenis_kendaraan, barang_sitaan pelanggaran"); while($row=mysql_fetch_assoc($q))         $json_output[]=$row;  print(json_encode($json_output));  mysql_close();  ?> 

logcat

06-03 10:01:22.795  30366-30366/com.example.indraaaeff.historyapp e/log_tag﹕ error parsing data org.json.jsonexception: value error of type java.lang.string cannot converted jsonarray 

here string getting php file.

[{"pid":"1","jenis_kendaraan":"motor","barang_sitaan":"sim"},    {"pid":"2","jenis_kendaraan":"mobil","barang_sitaan":"lain-lain"}, {"pid":"3","jenis_kendaraan":"motor","barang_sitaan":"sim"}] 

please me remove

 @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          tl = (tablelayout) findviewbyid(r.id.maintable);         new loadusertask().execute();     }    public class loadusertask extends asynctask<void,void,arraylist<user>> {          @override         protected void doinbackground(void... params) {             data = getdb.getdatafromdb();             system.out.println(data);             arraylist<users> users = parsejson(data);             return users;            }           @override         protected void onpostexecute(arraylist<user> users) {             adddata(users);         }     }       public arraylist<users> parsejson(string result) {         arraylist<users> users = new arraylist<users>();         try {             jsonobject jsonobj = new jsonobject(result);             jsonarray jarray = jsonobj.getjsonarray("users");             (int = 0; < jarray.length(); i++) {                 jsonobject json_data = jarray.getjsonobject(i);                 users user = new users();                 user.setid(json_data.getint("id"));                 user.setjenis_kendaraan(json_data.getstring("jenis_kendaraan"));                 user.setbarang_sitaan(json_data.getstring("barang_sitaan"));                 users.add(user);             }         } catch (jsonexception e) {             log.e("log_tag", "error parsing data " + e.tostring());         }         return users;     } 

Comments