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

How to get a raw Retrofit response string?

我正在研究 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

请仔细阅读我的 post 并建议我一些解决方案。

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

尝试使用 body().string() 而不是 body().toString()