2016-08-20 1 views
1

이것은 중복 질문이 아닙니다. 네트워크 작업을 위해 Retrofit 2.0 및 json을 사용하고 있습니다. 또한 GSON을 대신 json을 구문 분석하는 대신 json string에서 모델 객체를 가져 오기 위해 간단한 JsonObject 및 JsonArray를 사용하고 있습니다. 먼저 위의 시나리오에서 사용해야하는 개장 전 컨버터를 안내합니다.Retrofit 2.0에서 json string을 응답으로받을 수 없습니다 android

두 번째로 json string을 응답 문자열로 가져올 수 없습니다.

두 가지 접근 방식을 시도했습니다. 접근 방식 1 - < Void>를 사용했습니다. 이 경우 response.body()는 상태 코드가 200이지만 null을 반환합니다.

접근 방식 2 - < ResponseBody>를 사용했습니다. 이 경우 call.enqueue 메소드는 'onSuccess'대신 'failure method'를 호출하고 응답 본문도 null입니다. 이 경우에도 상태 코드는 200입니다.

retrofit 2.0의 응답으로 json 문자열을 얻는 방법을 제안하십시오.

답변

3

Void 또는 ResponseBody 대신 JsonObject을 사용해야합니다. 코드는

Call<JsonObject> getCall = request.getDataCall(); 
getCall.enqueue(new Callback<JsonObject>() { 
    @Override 
    public void onResponse(Call<JsonObject> call, Response<JsonObject> response) { 

    } 

    @Override 
    public void onFailure(Call<JsonObject> call, Throwable t) { 

    } 
}); 

해야한다 : 당신이 com.google.gson.JsonObject

+0

감사를 사용하고 있는지 확인합니다. 그 일. 또한 무효화 된 응답 본문을 사용할시기를 알려주십시오. –

+0

[this] (http://stackoverflow.com/questions/28970476/how-to-perform-a-delete-request-without-return-type-or-callback-retrofit) 당신이 그것에 대해 명확한 생각을 줄 수 있습니다. –

+0

괜찮습니까? 가능하면 한 번 더 도움이 ....이 게시물에 관해서 도와주세요 http://stackoverflow.com/questions/38877535/unable-to-parse-different-json-format-string-via-gson –