44 votes

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

Je suis à l'aide de l' org.json.JSONObject (et analyseur) dans une application Android pour analyser un flux JSON. Qui est la meilleure façon de déterminer si une propriété existe ou pas à l'un des objets retournés?

Dire que j'ai un flux JSON, y compris les "Nouvelles". Certaines de ces nouvelles ont une propriété appelée "UnpublishDate" (qui est la date de la news en question n'est plus actif), alors que certaines de ces nouvelles n'ont pas cette propriété.

La meilleure solution que j'ai trouvé (mais pas encore mis en œuvre) est tout simplement un "try-catch" autour de l' theJSONObject.get("UnpublishDate") - connaissez-vous une meilleure solution (qui est plus gracieux lorsque la classe des échelles de plusieurs "en option" propriétés " dans le flux JSON)?

133voto

binnyb Points 10492

Vous pouvez utiliser la fonction JSONObject %% has :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X