2013-03-29 2 views
1
HttpClient httpClient = new DefaultHttpClient(); 
HttpPost httpPost = new HttpPost(URL); 

try { 
    StringEntity documentStringified = new StringEntity(Obj.toString()); 
    httpPost.setEntity(documentStringified); 
} catch (UnsupportedEncodingException e) { 
    Log.d("UnsupportedEncodingException", e.toString()); 
} 

try { 
    HttpResponse response = httpClient.execute(httpPost); 
    Log.d("Response", response.toString()); 
} catch (IOException e) { 
    Log.d("IOException", e.toString()); 
} 

Я не могу получить response. Как распечатать ответ в Logger or console.response.toString() или response.getEntity.toString() не работает.Получение ответа JSON Android

Должен ли я установить Content-type как "application/json".

ответ

6

Общий подход:

String result = EntityUtils.toString(response.getEntity()); 

Кроме того, вы можете проверить код ответа. Иногда запросы терпят неудачу.

int status = response.getStatusLine().getStatusCode(); 
if (status == 200) { 
    String result = EntityUtils.toString(response.getEntity());  
} 
+0

и сущность - это ничего, кроме response.getEntity() справа? – Kevin

+0

Последний вопрос: как установить тип содержимого: 'application/json' на мой http – Kevin

+0

yes, entity - response.getEntity() –

1

Получите InputStream вне ответа, а затем используйте Scanner, чтобы использовать его содержимое.

String responseContent = new Scanner(inputStream).useDelimiter("\\A").next(); 

useDelimiter("\\A") означает «разделителем является конец потока», так next() потребляет всего содержимого.

Смежные вопросы