Vérifier s'il existe un sous-objet en JSON
Je vérifie si un objet dans une chaîne JSON existe en utilisant ceci:
JSONObject json = null;
try {
json = new JSONObject(myJsonString);
} catch (JSONException e) { e.printStackTrace(); }
if(json.has("myObject")) System.out.println("EXISTS");
else System.out.println("DOESN'T EXIST");
Le problème apparait lorsque je tente de vérifier si un sous-objet existe. e.g:
...,"queue":{"building":{"q0":{"id":177779,...
File d'attente existe toujours et bâtiment aussi, mais q0 n'est pas toujours là. Alors, comment puis-je vérifier l'existence de q0? Et, est-il un moyen de le vérifier à l'aide de la Gson bibliothèque?
Vous en remercie d'avance!
OriginalL'auteur KrLx_roller | 2012-04-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement lui donner un essai et retourner la valeur null si l'essai a échoué. Ou vous pouvez diviser votre tentative, en petits morceaux pour surveiller où il échoue.
Vous pouvez aussi aller étape par étape, si vous souhaitez imprimer des journaux pour chaque niveau;
content que ça a aidé!
OriginalL'auteur Peter Ajtai
Utiliser les exceptions à votre avantage
http://www.json.org/javadoc/org/json/JSONObject.html#getJSONObject(java.lang.Chaîne de caractères)
no value for q0
Ressemble q0 est un JSONObject et pas un int.
Oui, c'est un JSONObject que je veux vérifier son existence
voir la deuxième partie de ma réponse
OriginalL'auteur Blundell