我正在處理Android應用程序,我試圖從服務器獲取JSON響應,該服務器被配置爲返回一個json對象(「.../current_user.json「)時收到GET消息,但我得到的答案是HTML格式,而不是JSON格式與預期的一樣。錯誤Android - 收到HTML而不是JSON
我不明白爲什麼會這樣,因爲我做的瀏覽器,並與程序RESTClient實現相同的請求,並得到了在JSON格式正確的答案。
這是我正在使用的代碼。
JSONObject json = new JSONObject();
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setSoTimeout(params, 10000);
HttpClient httpClient = new DefaultHttpClient(params);
HttpGet get = new HttpGet(url_getiduser);
HttpResponse response = httpClient.execute(get);
String sresponse = "error";
Log.d("url get", url_getiduser);
Log.d("pedido get", get.getMethod());
if(response != null)
{
InputStream in = response.getEntity().getContent();
sresponse = convertStreamToString(in);
Log.d("resposta http", sresponse);
if(!sresponse.equals("error"))
{
JSONObject object = new JSONObject(sresponse);
id_user = (String) object.get("id");
json = object;
Log.d("objecto json", object.toString());
}
else Log.d("Error on json parser", sresponse);
當你檢查HTML的文本時,你發現了什麼錯誤信息(如果有的話)?當您聯繫Web服務的開發人員處理此問題時,開發人員告訴您什麼?如果這是您自己的Web服務,那麼當您檢查服務器上的請求時,您發現了什麼? – CommonsWare
收到的HTML沒有任何錯誤信息,它只是來自網站的普通HTML。我還沒有檢查服務器上的請求。 – user1906403
我懷疑你在響應中缺少或有html內容類型標題。您可以通過檢查答覆標題來澄清它。你能告訴我們服務控制器代碼嗎? –