2010-10-09 6 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); 

    }); 
}); 

Первые работы предупреждений. Второе - нет.

Кроме того, хотя я не знаю, что это имеет значение, это jquery внутри шаблона django.

+0

Вы получаете сообщение об ошибке? как вы обращаетесь? – zod

+0

Это действительно JSON. Вы имеете в виду, что вы не можете получить доступ к каким-либо свойствам объектов в массиве 'img_set', или вы не можете получить доступ ко второму элементу в основном массиве? Код, который демонстрирует проблему, с которой вы столкнулись, поможет. –

+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.

+0

Во-первых, спасибо за ссылку. Это удобный инструмент. Странно, хотя он работает там, но он не работает в моем коде. Такая же методология. , , –

+0

ах, я проходил неправильную строку json. d'ах! –

Смежные вопросы