l'analyse des données à partir de JSON à l'aide de Volley dans Android
J'ai essayé d'analyse des données JSON à partir de "https://api.instagram.com/v1/media/popular?client_id="
+ clientId; ou toute autre url, dans des tonnes de façons différentes! Utilisé quelques JSONParsers, des tutoriels, des lecteurs .. tout, mais ne peut toujours pas obtenir quelque chose à partir de ces url. Maintenant, je suis en utilisant le Volley-bibliothèque et toujours pas de travail, voici mon code et tout ce dont vous avez besoin, si quelqu'un a des idées , merci de les partager.
public void LoadPictures() {
mRequestQueue = Volley.newRequestQueue(this);
mRequestQueue.add(new JsonObjectRequest(urlInst, null,
new Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
parseJSON(response);
} catch (JSONException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
}, new ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}));
c'est mon parseJSON méthode:
private void parseJSON(JSONObject json) throws JSONException{
//JSONObject value = json.getJSONObject("value");
JSONArray items = json.getJSONArray("data");
for(int i=0;i<items.length();i++) {
JSONObject c=(JSONObject) items.get(i);
JSONObject user = c.getJSONObject("user");
String name= user.getString("username");
JSONObject img=c.getJSONObject("images");
JSONObject thum=img.getJSONObject("thumbnail");
String urlOfPic = thum.getString("url");
PhotoInst photoData=new PhotoInst (i, urlOfPic, name);
photos.add(photoData);
}
c'est des données JSON, j'étais censé obtenir :
"data": [{
"type": "image",
"users_in_photo": [],
"filter": "Gotham",
"tags": [],
"comments": { ... },
"caption": {
"created_time": "1296656006",
"text": "ãã¼ãâ¥ã¢ããªå§ãã¦ä½¿ã£ã¦ã¿ãã(^^)",
"from": {
"username": "cocomiin",
"full_name": "",
"type": "user",
"id": "1127272"
},
"id": "26329105"
},
"likes": {
"count": 35,
"data": [{
"username": "mikeyk",
"full_name": "Kevin S",
"id": "4",
"profile_picture": "..."
}, {...subset of likers...}]
},
"link": "http://instagr.am/p/BV5v_/",
"user": {
"username": "cocomiin",
"full_name": "Cocomiin",
"profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1127272_75sq_1296145633.jpg",
"id": "1127272"
},
"created_time": "1296655883",
"images": {
"low_resolution": {
"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/34d027f155204a1f98dde38649a752ad_6.jpg",
"width": 306,
"height": 306
},
"thumbnail": {
"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/34d027f155204a1f98dde38649a752ad_5.jpg",
"width": 150,
"height": 150
},
"standard_resolution": {
"url": "http://distillery.s3.amazonaws.com/media/2011/02/01/34d027f155204a1f98dde38649a752ad_7.jpg",
"width": 612,
"height": 612
}
},
"id": "22518783",
"location": null
},
quand j'ai essayer de mettre aléatoire des Toasts à voir où est le problème, je peux voir le onResponse dans ma méthode LoadPictures n'est pas appelé? Où suis-je en train d'échouer ? suis-je tout simplement la supervision de quelque chose de petit ou de quelque chose d'autre?
OriginalL'auteur Mate Križanac | 2013-09-09
Vous devez vous connecter pour publier un commentaire.
@Mate - visible à partir de votre json, vous obtenez un JsonArray c'est à dire des "données". Par conséquent, le changement de votre Écouteur d'Écouteur<
JSONArray
> whihc assure qu'il renvoie une JSONArray objet. En conséquence, votre onResponse deviendra maintenant,Laissez-moi savoir si cela fonctionne.
OriginalL'auteur Atul O Holic
Quelques choses que vous devez vérifier d'abord:
Êtes-vous sûr que vous avez les éléments suivants dans votre manifeste?
Instagram exige une sorte de Clé API /authentification. Êtes-vous sûr que vous fournissez?
Est votre ErrorListener l'impression d'une trace de la pile? Si elle l'est, pouvez-vous fournir?
C'est là que je commencerais.
OriginalL'auteur Nic Raboy
cela peut vous aider à
response = response.substring(5);
fait pour enlever la première 5 caractères commedata:
et continuer avecJSONArray jsonArray = new JSONArray(response);
OriginalL'auteur Hemanth S Tobi