嗨,我得到這個JsonException有時......爲什麼發生這種情況可以解決這個問題,我的代碼。獲取org.json.JSONException的隨機錯誤:值java.lang.String類型的<!DOCTYPE不能轉換爲JSONObject
public int getResult(String name, double lat, double lon) {
try {
HttpClient httpclient = new DefaultHttpClient();
String query = URLEncoder.encode(name, "utf-8");
HttpPost httppost = new HttpPost("http://00004rl.rcomhost.com/demo/?json=get_dealing&dev=1&store_name=" + query + "&longitude=" + lon
+ "&latitude=" + lat);
JSONObject object = new JSONObject();
StringEntity se = new StringEntity(object.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
httppost.setEntity(se);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
JSONObject jso = new JSONObject(sb.toString());
if (jso.getString("status").equals("ok")) {
return 1;
}
} catch (Exception e) {
e.printStackTrace();
return 0;
}
return 0;
}
我得到異常下面這一段時間我的logcat低於
09-25 19:13:26.079: W/System.err(4842): org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject
09-25 19:13:26.079: W/System.err(4842): at org.json.JSON.typeMismatch(JSON.java:107)
09-25 19:13:26.079: W/System.err(4842): at org.json.JSONObject.<init>(JSONObject.java:158)
09-25 19:13:26.079: W/System.err(4842): at org.json.JSONObject.<init>(JSONObject.java:171)
09-25 19:13:26.079: W/System.err(4842): at com.eheuristics.android.diegodeals.googleplacesandmaps.MainActivity$LoadPlaces.getResult(MainActivity.java:246)
09-25 19:13:26.079: W/System.err(4842): at com.eheuristics.android.diegodeals.googleplacesandmaps.MainActivity$LoadPlaces.doInBackground(MainActivity.java:208)
09-25 19:13:26.079: W/System.err(4842): at com.eheuristics.android.diegodeals.googleplacesandmaps.MainActivity$LoadPlaces.doInBackground(MainActivity.java:1)
09-25 19:13:26.079: W/System.err(4842): at android.os.AsyncTask$2.call(AsyncTask.java:185)
09-25 19:13:26.079: W/System.err(4842): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
09-25 19:13:26.089: W/System.err(4842): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
09-25 19:13:26.089: W/System.err(4842): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
09-25 19:13:26.089: W/System.err(4842): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
09-25 19:13:26.089: W/System.err(4842): at java.lang.Thread.run(Thread.java:1019)
您可以在構建JSON之前給我們提供結果嗎?看起來它是一個HTML頁面。 –
不是那個壞消息給他的消極的問題! 服務器位於開發人員的另一端,開發人員可能處於新生階段! – Saty
謝謝user1931595 :(你的積極回覆非常感謝你 –