Как проверить, содержит ли jsonobject логическое или нулевое значение? - PullRequest
2 голосов
/ 22 февраля 2011

Я работаю над парсером json.В ответе json некоторые значения содержат логические или нулевые значения, тогда как проверить, является ли оно логическим или нулевым?Например: user = false или user = null.Во время анализа он выдает исключение, поскольку «пользователь не является jsonobject».

JSONObject json = new JSONObject(query);
JSONObject info = json.getJSONObject("info");
JSONObject user = info.getJSONObject("user");

Спасибо, Вишаха.

Ответы [ 4 ]

1 голос
/ 22 февраля 2011

Вы пробовали ingo.optBoolean ("пользователь")?

Из документации SDK для optBoolean: Возвращает значение, сопоставленное по имени, если оно существует и является логическим или может быть приведено к логическому.В противном случае возвращает false.

Обратите внимание, что значение null будет рассматриваться как ложное значение в этом примере.

0 голосов
/ 04 января 2014

isNull () вы можете использовать if(json.isNull("user")||your conditions)

0 голосов
/ 09 октября 2012
JSONObject json = new JSONObject(data); 
String user = json.getString("user");
variable.setUser(courses_icon_file_name == null ? "": user);
0 голосов
/ 24 марта 2011

Я думаю, что проблема может быть в том, что вы пытаетесь получить JSONArray с помощью getJSONObject (). попробуйте json.getJSONArray ("информация"). У меня была та же проблема, что я пытался сделать, если (object.getJSONObject ("string") == null), но он выдал исключение при попытке заставить объект проверить его значение, и .optBoolean отлично работал

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...