Лучший способ определить, существует ли значение в фиде JSON - PullRequest
44 голосов
/ 28 февраля 2011

Я использую org.json.JSONObject (и анализатор) в приложении для Android, чтобы проанализировать фид JSON.Каков наилучший способ определить, существует ли свойство в одном из возвращаемых объектов?

Скажем, у меня есть фид JSON, включая "Новости".Некоторые новости имеют свойство «UnpublishDate» (это дата, когда рассматриваемые новости больше не активны), в то время как некоторые новости не имеют этого свойства.

Лучшее решение, которое у меня естьпридумать (хотя пока не реализовано) просто попробовать «поймать» вокруг theJSONObject.get("UnpublishDate") - знаете ли вы какое-либо лучшее решение (более изящное, когда класс масштабируется до нескольких «необязательных» свойств в JSONкорма)

1 Ответ

132 голосов
/ 28 февраля 2011

Вы можете использовать функцию JSONObject has:

if(myJSONObject.has("UnpublishDate")) {
    //it has it, do appropriate processing
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...