JSON转储具有两个内部对象的对象

时间:2014-02-04 15:10:46

标签: python json

我有一本字典track_data = {}。然后我在密钥recent_tracks下面放了一系列歌曲,如下所示:

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并以该格式传回吗?

1 个答案:

答案 0 :(得分:3)

JSON中的属性是Python字典中的键。因此,您只需在创建recent_tracks列表时创建正确的字典:

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

例如。