伺服器返回data列表有資料時:
{
"code":0,
"message":"操作成功",
"data":[],
}
伺服器返回data列表沒有資料時:
{
"code":0,
"message":"操作成功",
"data":{},
}
新建類JsonDeserializerList 實現 JsonDeserializer
public class JsonDeserializerList implements JsonDeserializer<List<?>> {
@Override
public List<?> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
if (json.isJsonArray()) {
JsonArray array = json.getAsJsonArray();
Type itemType = ((ParameterizedType) typeOfT).getActualTypeArguments()[0];
List list = new ArrayList<>();
for (int i = 0; i < array.size(); i++) {
JsonElement element = array.get(i);
Object item = context.deserialize(element, itemType);
list.add(item);
}
return list;
} else {
return Collections.EMPTY_LIST;
}
}
}
註冊:
gsonBuilder.registerTypeHierarchyAdapter(List.class, new JsonDeserializerList()).create();
複製程式碼
記·處理服務端返回data不統一處理
相關文章
- 服務端跨域處理 Cors服務端跨域CORS
- Nacos - 服務端處理心跳請求服務端
- 介面異常狀態統一處理方案:優先業務端處理,再按需統一處理。
- Nacos - 服務端處理註冊請求服務端
- 統一返回物件和異常處理(一)物件
- springboot統一異常處理及返回資料的處理Spring Boot
- 統一返回物件和異常處理(二)物件
- fastHttp服務端處理請求的過程ASTHTTP服務端
- Nacos - 服務端處理例項列表請求服務端
- 高效能服務端系列–處理器篇服務端
- node端統一錯誤處理
- socket服務叢集處理
- sysdate返回值不變的問題處理
- 處理不滿
- feign服務端出異常客戶端處理的方法服務端客戶端
- 記一次線上服務CPU 100%的處理過程
- 多對一處理 和一對多處理的處理
- 搭建node服務(1):日誌處理
- XP服務優化批處理.bat優化BAT
- ?laravel8 中介軟體對處理返回結果或異常進行格式統一處理Laravel
- SQL SERVER 事務處理(一)SQLServer
- [BI專案記]-新任務處理
- 分散式事務處理方案,微服事務處理方案分散式
- windows批處理之一:字串處理Windows字串
- EBS服務啟動報錯基本處理
- 物件儲存服務的影像處理特性物件
- BAT批處理判斷服務是否正常執行(批處理命令綜合應用)BAT
- MySQL事務處理MySql
- myrocks之事務處理
- Redis之事務處理Redis
- 12事務處理
- mysqli 事務處理MySql
- 處理ajax返回的js程式碼JS
- Retrofit統一異常處理
- 基於AWS雲服務的批處理系統架構架構
- python向後端Flask服務傳送檔案並在後端處理Python後端Flask
- Data guard archive GAP 故障處理案例Hive
- 遠端桌面的處理