web-dev-qa-db-fra.com

Meilleure façon de déterminer si une valeur existe dans le flux JSON

J'utilise le org.json.JSONObject (Et l'analyseur) dans une application Android pour analyser un flux JSON. Quelle est la meilleure façon de déterminer si une propriété existe ou non dans l'un des les objets sont revenus?

Supposons que j'ai un flux JSON comprenant "News". Certaines des nouvelles ont une propriété appelée "UnpublishDate" (qui est la date à laquelle les nouvelles en question ne sont plus actives), tandis que certaines des nouvelles n'ont pas cette propriété.

La meilleure solution que j'ai trouvée (bien qu'elle ne soit pas encore implémentée) est d'avoir simplement un "try-catch" autour de la theJSONObject.get("UnpublishDate") - connaissez-vous une meilleure solution (qui est plus gracieuse lorsque la classe s'adapte à plusieurs propriétés "facultatives" dans le flux JSON)?

44
Manne W

Vous pouvez utiliser la fonction JSONObjecthas:

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