【问题标题】:How to print json array from Response<ResponseBody> response in retorift2.0如何从 Retoft2.0 中的 Response<ResponseBody> 响应打印 json 数组
【发布时间】:2018-04-29 12:32:45
【问题描述】:

我使用 retorfit 2.0 开发了 android 应用程序。我在我们的应用程序中使用高音。签入浏览器时,我从 url 获取 json 数组格式数据。我在我的应用程序中得到响应,例如代码:200ok,响应就像:repoces@012345 打印为原始数据。如何以数组格式打印响应。

Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("https://cdn.syndication.twimg.com/")
                .addConverterFactory(GsonConverterFactory.create())

                .build();

        RequestInterface requestInterface = retrofit.create(RequestInterface.class);


        Call<ResponseBody> response = requestInterface.gettwetter("vinodh654");

        response.enqueue(new Callback<ResponseBody>() {
            @Override
            public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
                Log.d("Tweeter Respose",response.code()+" "+response.message()+" "+response.body().toString());


            }

            @Override
            public void onFailure(Call<ResponseBody> call, Throwable t) {
                Log.d("Tweeter Respose","Fail");
            }
        });

【问题讨论】:

  • response.body().string() 会帮助你。
  • 有一个库可以显示您的请求和对改造的响应,它是由 Square 自己发布的。检查aldok的答案以获取参考stackoverflow.com/questions/32965790/…

标签: android json retrofit2 okhttp


【解决方案1】:

要获取 JSON,请使用

response.body().string()

【讨论】:

    【解决方案2】:

    您可以使用response.body().string() 打印如下:

      response.enqueue(new Callback<ResponseBody>() {
         @Override
         public void onResponse(Call<ResponseBody> call,Response<ResponseBody> response) {
                String data = response.body().string(); // It will get the response 
                Log.d("Tweeter Respose",response.code()+" "+response.message()+" "+data;
         }
    
         @Override
         public void onFailure(Call<ResponseBody> call, Throwable t) {
                Log.d("Tweeter Respose","Fail");
         }
      });
    

    【讨论】:

      【解决方案3】:

      试试这个

       @Override
               public void onResponse(Call<ResponseBody> call,Response<ResponseBody> response) {
                      String responseString = response.body().string(); 
                      Log.d("Response",response.code()+" "+response.message()+" "+data;
               }
      

      【讨论】:

        【解决方案4】:

        您可以像这样打印该 json 响应 - new Gson().toJson(response.body())

        response.enqueue(new Callback<ResponseBody>() {
             @Override
             public void onResponse(Call<ResponseBody> call,Response<ResponseBody> response) {
                    String data = new Gson().toJson(response.body()); // It will get the response 
                    Log.d("Response",response.code()+" "+response.message()+" "+data;
             }
        
             @Override
             public void onFailure(Call<ResponseBody> call, Throwable t) {
                    Log.d("Response","Fail");
             }
          });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-09
          相关资源
          最近更新 更多