में JSONArray में परिवर्तित नहीं किया जा सकता है जब मैं अपने लोकहोस्ट में कोशिश करता हूं तो यह काम करता है। यह जेएसओएन है जो मेरे लोकहोस्ट द्वारा प्रदान किया जाता है।org.json.JSONObject को एंड्रॉइड
इस यूआरएल मेंY यह त्रुटि http://api.androidhive.info/contacts/
[{
"id": "1",
"first_name": "man",
"last_name": "woman",
"username": "man",
"password": "4f70432e6369
70de9929bcc6f1b72412",
"email": "[email protected]",
"url": "http:\/\/localhost\/adchara1\/"
}, {
"id": "6",
"first_name": "first",
"last_name": "Last
Name",
"username": "user",
"password": "1a1dc91c907325c69271ddf0c944bc72",
"email": "0",
"url": "ht
tp:\/\/api.androidhive.info\/contacts\/"
}, {
"id": "7",
"first_name": "1",
"last_name": "2",
"username": "us45",
"password": "33d8f54e33896a5722
7b18642979e558",
"email": "[email protected]",
"url": "http:\/\/ugirusgiarto.wordpress.com\/2011\
/10\/27\/json-php-mysql-with-asynctask-progressdialog\/"
}, {
"id": "9",
"first_name": "First Name",
"last_name": "Last
Name",
"username": "Username",
"password": "dc647eb65e6711e155375218212b3964",
"email": "[email protected]
ail.com",
"url": "http:\/\/mobile.cs.fsu.edu\/parse-json-objects-in-asynctask\/"
}]
एक्स
MainActivity
public class MainActivity extends Activity {
TextView text_1, text_2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new task().execute();
}
class task extends AsyncTask<String, String, Void> {
private ProgressDialog progressDialog = new ProgressDialog(
MainActivity.this);
InputStream is = null;
String result = "";
protected void onPreExecute() {
progressDialog.setMessage("Download data...");
progressDialog.show();
progressDialog.setOnCancelListener(new OnCancelListener() {
public void onCancel(DialogInterface arg0) {
task.this.cancel(true);
}
});
}
@Override
protected Void doInBackground(String... params) {
// String url_select = "http://192.168.10.111/adchara1/";
String url_select = "http://api.androidhive.info/contacts/";
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url_select);
ArrayList<NameValuePair> param = new ArrayList<NameValuePair>();
try {
httpPost.setEntity(new UrlEncodedFormEntity(param));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
// read content
is = httpEntity.getContent();
} catch (Exception e) {
Log.e("log_tag", "Error in http connection " + e.toString());
}
try {
BufferedReader br = new BufferedReader(
new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = "";
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
// TODO: handle exception
Log.e("log_tag", "Error converting result " + e.toString());
}
return null;
}
protected void onPostExecute(Void v) {
// ambil data dari Json database
try {
JSONArray Jarray = new JSONArray(result);
for (int i = 0; i < Jarray.length(); i++) {
JSONObject Jasonobject = null;
text_1 = (TextView) findViewById(R.id.txt1);
Jasonobject = Jarray.getJSONObject(i);
// get an output on the screen
String id = Jasonobject.getString("id");
String name = Jasonobject.getString("name");
String email = Jasonobject.getString("email");
String address = Jasonobject.getString("address");
String gender = Jasonobject.getString("gender");
text_1.append("\n" + id + "\t\t" + name + "\t\t\t"
+ email + "\t\t\t\t" + address + "\t\t\t\t" + gender
+ "\t\t\t\t" + "\n");
}
this.progressDialog.dismiss();
} catch (Exception e) {
// TODO: handle exception
Log.e("log_tag", "Error parsing data " + e.toString());
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
त्रुटि
Error parsing data org.json.JSONException: Value {
"contacts": [{
"id": "c200",
"gender": "male",
"phone": {
"office": "00 000000",
"home": "00 000000",
"mobile": "+91 0000000000"
},
"address": "xx-xx-xxxx,x - street, x - country",
"email": "[email protected]",
"name": "Ravi Tamada"
}, {
"id": "c201",
"gender": "male",
"phone": {
"office": "00 000000",
"home": "00 000000",
"mobile": "+91 0000000000"
},
"address": "xx-xx-xxxx,x - street, x - country",
"email": "[email protected]",
"name": "Johnny Depp"
}, {
"id": "c202",
"gender": "male",
"phone": {
"office": "00 000000",
"home": "00 000000",
"mobile": "+91 0000000000"
},
"address": "xx-xx-xxxx,x - street, x - country",
"email": "[email protected]",
"name": "Leonardo Dicaprio"
}, {
"id": "c203",
"gender": "male",
"phone": {
"office": "00 000000",
"home": "00 000000",
"mobile": "+91 0000000000"
},
"address": "xx-xx-xxxx,x - street, x - country",
"email": "[email protected]",
"name": "John Wayne"
}, {
"id": "c204",
"gender": "female",
"phone": {
"office": "00 000000",
"home": "00 000000",
"mobile": "+91 0000000000"
},
"address": "xx-xx-xxxx,x - street, x - country",
"email": "[email protected]",
"name": "Angelina Jolie"
}, {
"id": "c205",
"gender": "female",
"phone": {
"office": "00 000000",
"home": "00 000000",
"mobile": "+91 0000000000"
},
"address": "xx-xx-xxxx,x - street, x - country",
"email": "[email protected]",
"name": "Dido"
}, {
"id": "c206",
"gender": "female",
"phone": {
"office": "00 000000",
"home": "00 000000",
"mobile": "+91 0000000000"
},
"address": "xx-xx-xxxx,x - street, x - country",
"email": "[email protected]",
"name": "Adele"
}, {
"id": "c207",
"gender": "male",
"phone": {
"office": "00 000000",
"home": "00 000000",
"mobile": "+91 0000000000"
},
"address": "xx-xx-xxxx,x - street, x - country",
"email": "[email protected]",
"name": "Hugh Jackman"
}, {
"id": "c208",
"gender": "male",
"phone": {
"office": "00 000000",
"home": "00 000000",
"mobile": "+91 0000000000"
},
"address": "xx-xx-xxxx,x - street, x - country",
"email": "[email protected]",
"name": "Will Smith"
}, {
"id": "c209",
"gender": "male",
"phone": {
"office": "00 000000",
"home": "00 000000",
"mobile": "+91 0000000000"
},
"address": "xx-xx-xxxx,x - street, x - country",
"email": "[email protected]",
"name": "Clint Eastwood"
}, {
"id": "c2010",
"gender": "male",
"phone": {
"office": "00 000000",
"home": "00 000000",
"mobile": "+91 0000000000"
},
"address": "xx-xx-xxxx,x - street, x - country",
"email": "[email protected]",
"name": "Barack Obama"
}, {
"id": "c2011",
"gender": "female",
"phone": {
"office": "00 000000",
"home": "00 000000",
"mobile": "+91 0000000000"
},
"address": "xx-xx-xxxx,x - street, x - country",
"email": "[email protected]",
"name": "Kate Winslet"
}, {
"id": "c2012",
"gender": "male",
"phone": {
"office": "00 000000",
"home": "00 000000",
"mobile": "+91 0000000000"
},
"address": "xx-xx-xxxx,x - street, x - country",
"email": "[email protected]",
"name": "Eminem"
}]
}
of type org.json.JSONObject cannot be converted to JSONArray
करने के लिए छवि डाउनलोड कर सकते हैं मैं सुझाव देता हूं कि आप जो कुछ जानते हैं उसके साथ प्रयास करना एक वैध JSONArray है यह सुनिश्चित करने के लिए कि आपका कोड काम करता है और फिर यह देखने के लिए जांच कर रहा है यह वास्तव में एक वैध JSONArray है। आप Google Chrome के "JSON Formatter" एक्सटेंशन जैसे टूल का उपयोग कर सकते हैं ताकि आप इंडेंट, स्वरूपित तरीके से JSON को पढ़ने में मदद कर सकें –