我是python的初學者,並且試圖解析下面的JSON。我無法找到如何獲取歌曲的藝術家姓名和標題。用python-list索引解析JSON必須是整數而不是str
{
"status": {
"msg": "Success",
"code": 0,
"version": "1.0"
},
"metadata": {
"music": [
{
"external_ids": {
"isrc": "USSM10603618",
"upc": "888880170897"
},
"play_offset_ms": 8920,
"external_metadata": {
"spotify": {
"album": {
"id": "0JLv6iVbeiy4Dh2eIw6FKI"
},
"artists": [
{
"id": "6vWDO969PvNqNYHIOW5v0m"
}
],
"track": {
"id": "3qSMg1lhn4jDwWlI9xCVyK"
}
},
"itunes": {
"album": {
"id": 464320979
},
"artists": [
{
"id": 1419227
}
],
"track": {
"id":89
}
},
"deezer": {
"album": {
"id": 72429
},
"artists": [
{
"id": 145
}
],
"genres": [
{
"id": 132
}
],
"track": {
"id": 551232
}
}
},
"title": "Listen (From the Motion Picture \"Dreamgirls\")",
"duration_ms": "217786",
"album": {
"name": "B'Day Deluxe Edition"
},
"acrid": "4660601066a3153acf15eabe2868572b",
"genres": [
{
"name": "Pop"
}
],
"artists": [
{
"name": "Beyoncé"
}
]
}
],
"timestamp_utc": "2015-07-27 10:35:28"
},
"result_type": 0
}
我的代碼是:
json_r=json.loads(res)
print(json_r)
for i in json_r:
song_name=json_r.metadata['music']['title']
print song_name
artist=json_r['metadata']['music']['artists']['name']
s_t_id=json_r['metadata']['music']['external_metadata']['spotify']['track']['id']
s_a_id=json_r['metadata']['music']['external_metadata']['spotify']['artists']['id']
我收到以下錯誤: 列表索引必須是整數str的
請幫
您是否看到JSON數據中的方括號?那些表示「列表」,其索引必須是整數。 – TigerhawkT3