Maison > Questions et réponses > le corps du texte
retrofit中gsonconverter 对于空集合 array:[] 这种解析会报错 请问有什么解决办法吗
高洛峰2017-04-18 09:17:00
La classe personnalisée hérite de Converter.Factory
et réécrit convert()
comme suit :
@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();
}
}