Лучший способ определить, существует ли значение в канале JSON

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

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

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

Ответ 1

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

if(myJSONObject.has("UnpublishDate")) {
    //it has it, do appropriate processing
}