Ich erhalte eine Ausnahme bei der Arbeit in JSON. Meine JSONPresr Klasse ist wie folgtorg.json.JSONObject kann nicht in JSONArray konvertiert werden
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;
import android.os.AsyncTask;
import android.util.Log;
public class JSONParser {
static InputStream is = null;
static JSONObject jObj = null;
static String json = "";
// constructor
public JSONParser() {
}
public JSONObject getJSONFromUrl(String url) {
// Making HTTP request
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
json = sb.toString();
System.out.println(" value in json sting"+json);
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
// try parse the string to a JSON object
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
Log.e("JSON Parser", "Error parsing data [" + e.getMessage()+"] "+json);
System.out.println(" error is here");
}
// return JSON String
return jObj;
}
}
erhalte ich meine Daten von diesem Code
String TAG_user_detail = "user_details";
String TAG_user_id = "user_id";
String TAG_user_name = "user_name";
String TAG_user_phone = "user_phone";
String TAG_ref_id = "ref_id";
JSONArray user_detail_jsonarray = null;
JSONParser jParser = new JSONParser();
// getting JSON string from URL
JSONObject json = jParser.getJSONFromUrl(url);
try {
// Getting Array of Contacts
user_detail_jsonarray = json.getJSONArray(TAG_user_detail);
// looping through All Contacts
for(int i = 0; i < user_detail_jsonarray.length(); i++){
JSONObject c = user_detail_jsonarray.getJSONObject(i);
// Storing each json item in variable
int id = c.getInt(TAG_user_id);
System.out.println("user id from json"+id);
String name_fromjson = c.getString(TAG_user_name);
System.out.println("user name from json"+name_fromjson);
int phone_no_fromjson = c.getInt(TAG_user_phone);
System.out.println("user phone from json"+phone_no_fromjson);
int ref_id_fromjson = c.getInt(TAG_ref_id);
System.out.println("user ref id from json"+ref_id_fromjson);
}
} catch (JSONException e) {
e.printStackTrace();
}
aber ich bin countiniously Ausnahme immer in dieser Linie
user_detail_jsonarray = json.getJSONArray(TAG_user_detail);
Meine Stake Trace-Nachricht ist als
{"ref_id":1295,"user_name":"chand","user_phone":"9620085675","user_id":"1"} at user_details of type org.json.JSONObject cannot be converted to JSONArray
Ich habe viele Links ausprobiert, aber leider kann ich mein Ergebnis nicht erreichen. Bitte helfen Sie mir, dieses Problem zu lösen. Vielen Dank im Voraus an alle
Sie erhalten JSONObject für 'TAG_user_detail' kein Array –
Schreiben Sie bitte einen Code – DJhon
Welcher Code? Setze dein komplettes JSON ein. –