Android анализирует JSON и предотвращает сбой приложения, если JSONException - PullRequest
0 голосов
/ 05 октября 2011

мое приложение отправляет запрос POST на сервер и получает ответ в формате JSON.

Иногда мой JSON-ответ равен "null" (если время запроса истекло). В этом случае мне нужно уведомить пользователя об истечении времени ожидания (диалоговое окно или тост) и избежать сбоя приложения.

Как правильно обработать JSONException и избежать сбоя приложения?

Спасибо! Marco

Ответы [ 3 ]

3 голосов
/ 05 октября 2011

, чтобы избежать сбоев в работе вашего приложения при анализе json, попробуйте следующее:

if (jsonResponse == null) {
       // notify user
} else {
      try {
         // parse json here.
      } catch (JSONException e) {
        Toast.makeText(this,"Error on the response", 3000).show();
      }


}
1 голос
/ 05 октября 2011

проверьте, является ли ваш ответ JSON нулевым.только тогда разбирайте json.

if (jsonResponse == null) {
       // notify user
} else {
      // parse json here.
}
0 голосов
/ 06 октября 2014

получите полное исключение:

StatusLine statusLine = response.getStatusLine();
    if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        response.getEntity().writeTo(out);
        out.close();
        jsonString = out.toString();
    }

    }catch(ConnectException e){             
    // handle your exception here, maybe something like
        Toast.makeText(context,"Error!",5000).show();
        finish(); 

    } catch (URISyntaxException e1) {
        e1.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...