为 Retrofit2 提供的 FastJson 转换器(Retrofit2-FastJson-Converter)java
Retrofit 是 Android 和 Java 平台上一款优秀且被普遍使用的 Http 客户端,GitHub 上 21K+ 的 Star 和 4.3K+ 的 Fork 充分证实了 Retrofit 的风靡程度。git
Retrofit 在 Android 平台如此流行与它及其简介的调用方式和优秀的可扩展、可配置性是分不开的。咱们客户端在和服务端交互的时候一般采用 Json 格式来传递数据,客户端拿到服务端传递过来的 Json 格式的数据后须要对它进行解析;Retrofit2 并未提供 Json 解析功能,但可提供接口让客户端程序员配置 Json Converter以选择本身喜欢的 Json 解析库。程序员
Json 解析库有不少:Gson、Jackson、FastJson等等。Retrofit 优秀的可配置性可让咱们客户端程序员随意选择心怡的 Json 解析库,Retrofit 针对 Gson 和 Jackson 都提供相应的 Converter;可能因为 FastJson 是国内程序员开发的缘由,Retrofit 对于 FastJson 并无提供对应的 Converter ,这对于使用 FastJson 的开发者是不友好的。github
好在 Retrofit 提供了接口来让开发者实现本身的 Json Converter 。实现 Converter 虽然简单,但每次使用 Retrofit2 + FastJson 组合时都实现一套显然是不必的。我使用 FastJson 实现了一个 Converter: Retrofit2-FastJson-Converter ,有一样需求的同窗只须要使用我这个 Converter 库就好啦,没必要再去自定义。使用方式以下:maven
Step 1. 因为 Retrofit2-FastJson-Converter 是发布到 JitPack 的,所以首先须要在项目根目录的 build.gradle 中加入 JitPack 的仓库地址,具体配置以下:gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
复制代码
Step 2. 在具体使用 Retrofit2-FastJson-Converter 的 module 中加入依赖配置:ui
dependencies {
compile 'com.github.BaronZ88:Retrofit2-FastJson-Converter:lastVersion'
}
复制代码
在 Retrofit.Builder 的 addConverterFactory 方法中传入 FastJsonConverterFactory.create()
:url
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(FastJsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.client(client)
.build();
复制代码
最后贴上 Retrofit2-FastJson-Converter 源码地址 :github.com/BaronZ88/Re…spa