Как проверить, является ли JSONObject нулевым или не существует

Добрый день, у меня есть набор значений JSONObject, которые я получаю с сервера и работаю. В большинстве случаев я получаю JSONObject со значением (скажем, статистикой), а иногда он возвращает объект Error с кодом и описанием ошибки. Теперь мой вопрос заключается в том, как я структурирую свой код, чтобы он не прерывался, если он возвращает ошибку. Я думал, что могу это сделать, но не работает. Любая помощь будет высоко оценена. благодаря

public void processResult(JSONObject result) { try { if(result.getJSONObject(ERROR) != null ){ JSONObject error = result.getJSONObject(ERROR); String error_detail = error.getString(DESCRIPTION); if(!error_detail.equals(null)){ //show error login here finish(); } else { JSONObject info = result.getJSONObject(STATISTICS); String stats = info.getString("production Stats")); } } 

Используйте .has(String) и .isNull(String)

Консервативное использование может быть;

  if (record.has("my_object_name") && !record.isNull("my_object_name")) { // Do something with object. } 

В JSONObject существует метод «Has», который вы можете сделать, чтобы определить ключ.

Я понятия не имею, будет ли это работать, но это выглядит заслуживающим доверия.

 public void processResult(JSONObject result) { if(result.has("ERROR")) { JSONObject error = result.getJSONObject("ERROR") String error_detail = error.getString("DESCRIPTION"); if(error_detail != null) { //Show Error Login finish(); } } else if(result.has("STATISTICS")) { JSONObject info = result.getJSONObject("STATISTICS"); String stats = info.getString("Production Stats"); //Do something } else { throw new Exception("Could not parse JSON Object!"); } }