2010-10-09 6 views
0

Je suis en train d'analyser la ligne suivante dans JSON jquery:Parse JSON dans jquery

[{ 
    "pk": 19, 
    "model": "films.movies", 
    "fields": { 
     "length": "92", 
     "name": "Beetle Juice", 
     "actor": "Keaton", 
     "img_set": [{ 
      "pk": 42, 
      "model": "films.img", 
      "fields": { 
       "uploaded": "2010-10-08 21:44:30", 
       "f_movie": 19, 
       "url_med": "http://www.mondial-infos.fr/wp-content/uploads/2009/10/Beetlejuice.jpg"} 
      }] 
     } 
},{ 
    "pk": 20, 
    "model": "films.movies", 
    "fields": { 
     "length": "126", 
     "name": "Batman", 
     "actor": "Keaton", 
     "img_set": [{ 
      "pk": 43, 
      "model": "films.img", 
      "fields": { 
        "uploaded": "2010-10-08 21:44:54", 
        "f_movie": 20, 
        "url_med": "http://bruehoyt.com/superheroes/DC/batman/bruce/batmankeaton3.jpg"} 
      }] 
     } 
}] 

Je ne peux pas accéder à quoi que ce soit après img_set cependant. Qu'est-ce que je rate? Est-ce valide json?

Je tentais ce qui suit:

$.getJSON('/films/feeds/movie-by-actor/Keaton/',function(data) { 
    $.each(data, function(i, movie) { 

     alert(movie.fields.name); 
     alert(movie.fields.img_set[0].pk); 

    }); 
}); 

Les premiers travaux d'alerte. La seconde ne le fait pas.

En outre, bien que je ne sache pas que cela compte, c'est jquery dans un modèle django.

+0

vous recevez une erreur? comment vous accédez? – zod

+0

C'est JSON valide. Voulez-vous dire que vous ne pouvez accéder à aucune des propriétés des objets du tableau 'img_set' ou que vous ne pouvez pas accéder au second élément du tableau principal? Un code qui démontre le problème que vous rencontrez serait utile. –

+0

édité ci-dessus avec le code que j'utilise pour essayer d'accéder aux données –

Répondre

1

La partie confuse est probablement le tableau d'un seul élément, mais img_set est toujours un tableau. Assurez-vous d'y accéder avec un premier indice, comme celui-ci:

.img_set[0].pk 
//for example: 
data[0].fields.img_set[0].pk 

Au lieu de:

.img_set.pk 

You can give it a try here.

+0

D'abord, merci pour le lien. C'est un outil pratique. C'est bizarre mais ça fonctionne, mais ça ne marche pas dans mon code. Même méthodologie . . –

+0

ah, je passais la mauvaise chaîne JSON. d'oh! –