Я получаю пустой массив в строке в качестве ответа от сервера и получаю ClassCastException при преобразовании его в JsonObject, потому что это пустой массив.Вот фрагмент кода.
final String errorMessage = IOUtils.toString(errorStream); // response is "[]"
if (isJson(errorMessage)) {
final JsonObject jsonResult = new Gson().fromJson(errorMessage, JsonObject.class);
throw new IOException(jsonResult.get("error").toString());
} else {
throw new IOException("Json response is" + errorMessage);
}
Вот метод Джона
public static boolean isJson(String Json) {
try {
new JSONObject(Json);
} catch (JSONException ex) {
try {
new JSONArray(Json);
} catch (JSONException ex1) {
return false;
}
}
return true;
}
, если я добавлю чек для сравнения "[]", например
if(isJson(errorMessage) && !errorMessage.equals("[]"))
или тамможет быть любой другой лучший способ сделать это.
Пожалуйста, руководство.
Спасибо,