2010-10-09 101 views
0

我试图解析以下JSON行jQuery中:解析JSON 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"} 
      }] 
     } 
}] 

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。

+0

您是否收到错误?你如何访问? – zod 2010-10-09 18:26:17

+0

这是有效的JSON。你的意思是你不能访问'img_set'数组中的任何对象的属性,或者你不能访问主数组中的第二个元素?演示你遇到的问题的代码将有所帮助。 – 2010-10-09 18:27:39

+0

上面用我正在使用的代码尝试访问数据 – 2010-10-09 18:37:46

回答

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

+0

首先,感谢您的链接。这是一个方便的工具。虽然它在那里工作很奇怪,但它在我的代码中不起作用。相同的方法。 。 。 – 2010-10-09 18:39:48

+0

啊,我传错了json字符串。 D'哦! – 2010-10-09 20:37:17