如果在使用的过程中,不需要Gson以及其他转换器,只是单纯的返回 JSONObject,那这样怎么处理呢?

通过阅读源码发现,可以通过自定义转换器的方式操作:

import retrofit.Call/*Retrofit 2.0*/public interfase ApiService{    @POST("/list")    Call<JSONObject> loadRepo();}

同步操作:

Call<JSONObject> call = service.loadRepo();Repo repo = call.excute()

异步操作:

Call<JSONObject> call = service.loadRepo();call.enqueue(new Callback<JSONObject>(){    @Override    public void onResponse(Response<JSONObject> response){        //从response.body()中获取结果    }    @Override    public void onFailure(Throwable t){    }});

这样就完了么?不。

  • 添加自定义Converter

地址:https://github.com/brokge/Retrofit2.0-JSONCoverter
选择相应版本添加到项目中。(Retrofit 2.0 -beta2和Retrofit 2.0-beta4 处理方式不同)

  • GsonConverterFactory.create(gson)换成 JsonConverterFactory.create()

完整代码如下:

private static Retrofit initRetrofit() {        OkHttpClient httpClient = new OkHttpClient();        if (BuildConfig.DEBUG) {            HttpLoggingInterceptor logging = new HttpLoggingInterceptor();            logging.setLevel(HttpLoggingInterceptor.Level.BODY);            httpClient = new OkHttpClient.Builder().addInterceptor(logging).build();        }        return new Retrofit.Builder()                .baseUrl(BaseUtil.getApiUrl())                .addConverterFactory(JsonConverterFactory.create())                .client(httpClient)                .build();    }

或许下面文章你也感兴趣:
Android Retrofit 请求字符串(非JSON数据)

更多相关文章

  1. GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
  2. Android(安卓)MVVM之Room学习记录,从零开始实现
  3. Android(安卓)SNTP 时间同步
  4. Android项目打包遇com.android.builder.internal.aapt.v2.Aapt2E
  5. binder机制底层驱动浅析
  6. Android(安卓)IPV6获取方式
  7. Android(安卓)Studio操作/问题积累
  8. Android虚拟机,控制台Console报错几例及解决办法
  9. Android(安卓)Activity之间数据的传递

随机推荐

  1. MediaScanner与音乐信息扫描==
  2. 打开app弹出欢迎界面,然后自动跳转到主界
  3. 清除手机图案解锁(执行adb命令工具类)
  4. Android 中主Activity和任一Activity进行
  5. 将Android(安卓)Activity设置成对话框式
  6. android中System.exit(0)和System.exit(1
  7. 《Android开发从零开始》——43.Menu使用
  8. android如何阻止app_name在标题栏中闪现
  9. Android ImageLoader使用
  10. 【学习】Android开入门教程