爲 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