2010-10-09 85 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