Как узнать ответ JSON является пустым объектом JSON в Android? - PullRequest
2 голосов
/ 25 сентября 2019

Я сталкиваюсь с проблемой получения пустого объекта JSON с сервера.

Как узнать, что ответ JSON от сервера является пустым объектом JSON {}или другие ?Я установил jObject!=null условие для него, но оно не работает.

Вот мой код:

JSONObject jObject = new JSONObject(response);

if (jObject!=null) {
    Toast.makeText(getApplicationContext(), R.string.successfull_unsubscribe, Toast.LENGTH_LONG).show();
    ShareData.saveData(getApplicationContext(), "simType", "null");
    ShareData.saveData(getApplicationContext(), "firstLaunch", "true");

    startActivity(new Intent(MainActivity2.this, WelcomeActivity.class));
    finish();
}

Ответы [ 4 ]

3 голосов
/ 25 сентября 2019

Вы можете попробовать проверку длины или toString.

Например: jObject.length() == 0

Например: jObject.toString().equals("{}")

2 голосов
/ 25 сентября 2019

Замените ваше условие if на if(!jObject.keys().hasNext())

1 голос
/ 25 сентября 2019

Вы можете попробовать jObject.isNull("") в вашем условии if

Метод IsNull () (JsonObject):

Возвращает логическое значение, указывающее, содержит ли свойство в JsonObjectнулевое значение.

1 голос
/ 25 сентября 2019

Вы можете использовать jObject.keys().hasNext() или jObject.length() != 0:

JSONObject jObject = new JSONObject(response);
if (jObject != null && jObject.length() != 0) {
    Toast.makeText(getApplicationContext(), R.string.successfull_unsubscribe, Toast.LENGTH_LONG).show();
    ShareData.saveData(getApplicationContext(), "simType", "null");
    ShareData.saveData(getApplicationContext(), "firstLaunch", "true");

    startActivity(new Intent(MainActivity2.this, WelcomeActivity.class));
    finish();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...