Comment Analyser un Objet JSON Dans Android
Je vais avoir quelques problèmes en tirant les valeurs d'un objet JSON. Voici mon code
try {
JSONObject json = new JSONObject(result);
JSONObject json2 = json.getJSONObject("results");
test = json2.getString("name");
} catch (JSONException e) {
e.printStackTrace();
}
test
est déclaré comme un String
. Lorsque le code s'exécute, il montre null
. Si je survolez json2
en mode debug, je vois que toutes les valeurs et les noms de l'intérieur de l'objet.
J'ai aussi essayé
test = json2.length();
Cette retourné test = 0
. Même quand je survolez le json2
objet que je peut lire les valeurs à l'intérieur de l'objet.
Voici un exemple d'une chaîne JSON, je vais utiliser.
{
"caller":"getPoiById",
"results":
{
"indexForPhone":0,
"indexForEmail":"NULL",
"indexForHomePage":"NULL",
"indexForComment":"NULL",
"phone":"05137-930 68",
"cleanPhone":"0513793068",
"internetAccess":"2",
"overnightStay":"2",
"wasteDisposal":"2",
"toilet":"2",
"electricity":"2",
"cran":"2",
"slipway":"2",
"camping":"2",
"freshWater":"2",
"fieldNamesWithValue":["phone"],
"fieldNameTranslations": ["Telefon"],
"id":"1470",
"name":"Marina Rasche Werft GmbH & Co. KG",
"latitude":"52.3956107286487",
"longitude":"9.56583023071289"
}
}
- Chaîne JSON exemple que vous avez fourni fonctionne pour moi au moins. Êtes-vous confrontés à des problèmes avec cette chaîne en trop?
- pouvez-vous montrer l'ensemble du code pour cela?ou au moins m'aider avec mon problème avec jsonobject
Vous devez vous connecter pour publier un commentaire.
À la fin, je l'ai résolu en utilisant
JSONObject.get
plutôt queJSONObject.getString
et puis jetétest
à unString
.Dans votre format JSON, il n'ont pas de départ d'objet JSON
Comme :
Ci-dessus Json commence avec
info
comme objet JSON. Donc, lors de l'exécution :Maintenant, nous pouvons accéder à
result
champ :Je pense que c'était manquant et donc, le problème a été résolu alors que nous utilisons
JSONTokener
comme réponse à la vôtre.Votre réponse est très fine. Juste je pense que j'ai ajouter cette information donc j'ai répondu
Merci
Prendre un coup d'oeil à http://developer.android.com/reference/org/json/JSONTokener.html
Cela pourrait résoudre votre problème.
Changement de JSONArray, puis de les convertir à JSONObject.