如何获得原始的Retrofit响应字符串?

时间:2016-08-09 21:33:04

标签: android json retrofit2

我正在进行Retrofit,但我坚持一件事:如何在响应主体上获得原始JSON。

public interface ViewMenuItems {
  @GET
  Call<ResponseBody> listRepos(@Url String url);
}

ViewMenuItems viewMenuItems = ApiClient.getClient().create(ViewMenuItems.class);
  Call<ResponseBody> responseBodyCall = viewMenuItems.listRepos(Webservices.MERCHANT + merchantId + Webservices.MENU_ITEMS_LASTMODIFIED);

       responseBodyCall.enqueue(new Callback<ResponseBody>() {
       @Override
       public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
          Log.d("MenuItems", "Response :: " + response.body().toString());
       }

       @Override
       public void onFailure(Call<ResponseBody> call, Throwable t) {
         Log.d("MenuItems", "Exception :: " + t.toString());
       }
 });

但是在“MenuItems”日志中我没有得到JSON响应,它就是这样的

MenuItems: Response :: retrofit2.Response@e292dd4

请仔细阅读我的帖子并向我推荐一些解决方案。

2 个答案:

答案 0 :(得分:20)

尝试使用body().string()代替body().toString()

答案 1 :(得分:4)

使用Call<JSONObject>。这样,您甚至不需要在项目中包含任何retrofit converters