2014-02-04 2 views
0

У меня есть словарь track_data = {}. Затем я положил массив песен в него под ключ recent_tracks следующим образом:JSON сбрасывает объект с двумя внутренними объектами

track_data['recent_tracks'] = [x.track.artist.name + " - " + x.track.title for x in recent_tracks]

Я тогда сбросить его (наряду с аналогичными пар ключ-значение) и передать его к переднему концу моего приложения следующим образом:

return HttpResponse(json.dumps(track_data), content_type="application/json")

парень делает передний конец затем обращается к нему с помощью recent_tracks[0] получить первый индекс, который дал бы ему сказать Haim - The Wire. Тем не менее, он хочет, чтобы имя исполнителя и название дорожки были переданы обратно в виде отдельных объектов под recent_tracks. Поэтому скажите, что он хотел получить имя исполнителя, которое он написал бы recent_tracks[0].artist.

Могу ли я предоставить дочерние объекты recent_tracks, которые затем могут быть сброшены как JSON и переданы обратно в этом формате?

ответ

3

Атрибуты в JSON являются ключами в словаре Python. Таким образом, вы просто должны создать правильный словарь при создании recent_tracks списка:

track_data['recent_tracks'] = [ 
    {"artist": x.track.artist.name, "title": x.track.title} 
    for x in recent_tracks 
] 

, например.

+0

Именно то, что я был после! Ответ учебника. – Nanor

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