高洛峰2017-04-18 09:17:00
自定义类继承Converter.Factory
,改写convert()
方法如下:
@Override
public T convert(ResponseBody value) throws IOException {
String response = value.string();
try {
return gson.fromJson(response, type);
} catch (JsonSyntaxException e) {
try {
org.json.JSONObject json = new org.json.JSONObject(response);
String data = json.getString("data");
if (TextUtils.isEmpty(data) || data.equals("[]")) {
// 添加对空Json数组的处理逻辑
}
} catch (JSONException e1) {
// no op
}
throw new ApiException(ApiException.JSON_PARSE_ERROR, ApiException.JSON_PARSE_ERROR_MESSAGE);
} finally {
value.close();
}
}