服务器返回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不统一处理
最新推荐文章于 2020-09-17 20:29:49 发布