在jquery中解析JSON

时间:2010-10-09 18:25:02

标签: jquery json

我正在尝试在jquery中解析以下json行:

[{
   "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"}
            }]
      }
}]

虽然img_set之后我无法访问任何内容。我错过了什么?这是有效的json吗?

我正在尝试以下方法:

$.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);

    });
});

第一个警报有效。第二个没有。

此外,虽然我不知道这很重要,但这是django模板中的jquery。

1 个答案:

答案 0 :(得分:1)

令人困惑的部分可能是单个元素的数组,但img_set仍然是一个数组。确保首先使用索引访问它,如下所示:

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

而不仅仅是:

.img_set.pk

You can give it a try here