Comment l'obtenir et analyser un JSON-objet avec terrain de Volley -
Je n'ai pas été en mesure de trouver une réponse détaillée à cette question, ou du moins pas celui que je peux comprendre.
Je suis en train de configurer Volley de tirer vers le bas JSON-objets à partir d'iTunes. Je veux analyser les objets, pour obtenir leur image Url.
Ainsi, par exemple, ici, est suis iTunes objet JSON URL
String url = "https://itunes.apple.com/search?term=michael+jackson";
Donc ici, j'ai mis en place mon code pour obtenir cet objet (à l'aide d'un tutoriel bien sûr)
String url = "https://itunes.apple.com/search?term=michael+jackson";
JsonObjectRequest jsonRequest = new JsonObjectRequest
(Request.Method.GET, url, null, new Downloader.Response.Listener //Cannot resolve symbol Listener
<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
//the response is already constructed as a JSONObject!
try {
response = response.getJSONObject("args");
String site = response.getString("site"),
network = response.getString("network");
System.out.println("Site: "+site+"\nNetwork: "+network);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Downloader.Response.ErrorListener //Cannot resolve symbol ErrorListener
() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
Volley.newRequestQueue(this).add(jsonRequest);
La dernière déclaration est
Volley.newRequestQueue(this).add(jsonRequest);
Sans doute, j'ai maintenant le JSON-objet? Mais comment puis-je accéder à l'analyser?
Vous devez vous connecter pour publier un commentaire.
Avec votre Url, vous pouvez utiliser l'exemple de code suivant:
La SongInfo classe:
À l'intérieur de construire.gradle fichier:
Espérons que cette aide!
Il suffit de coller cette url dans votre navigateur, vous pouvez voir tous les objet json. Vous pouvez utiliser un json formateur site web pour voir dans un beau format.
Prendre un coup d'oeil ici pour trouver les méthodes dont vous avez besoin.
http://developer.android.com/reference/org/json/JSONObject.html
Votre code ne fonctionne pas parce que cet objet n'existe pas sur ce json.
Utilisation GSON avec de simples POJO est. Voici la GSON Documentation
Supposons que vous avez ceci:
Vous pouvez utiliser GSON pour ce faire:
Et maintenant vous avez un objet représentant la réponse! Remarquez comment j'ai fait les noms de champ de la "Chanson" de l'objet ont les mêmes noms que les valeurs qui vous intéressent (dans ce cas, il apparaît réseau et le site est ce que vous voulez). Gson fait le travail de la sérialisation d'un objet JSON pour un POJO que vous pouvez accéder directement aux valeurs proprement, et plus facile.
De se reconvertir c'est aussi simple que:
Il suffit d'ajouter à votre construction.gradle via: