2 回答

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊
嘗試這樣的事情:
ids = [item["id"] for item in json_data["playlists"]["items"]]
這稱為列表理解。
您想要遍歷鍵"items"
內(nèi)的所有內(nèi)容"playlists"
。
您可以訪問該項(xiàng)目列表:
json_data["playlists"]["items"]
然后迭代項(xiàng)目中的每個(gè)項(xiàng)目:
for item in json_data["playlists"]["items"]
然后你訪問"id"
每個(gè)項(xiàng)目的:
item["id"]

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以使用對(duì)象的鍵索引對(duì)象。我可以看到對(duì)象中有兩個(gè)地方存在 id。要檢索這兩個(gè) ID 并將它們存儲(chǔ)在字典格式中,您可以使用以下方法 -
_json = {
'playlists': {
'href': 'https://api.spotify.com/v1/search?query=rewind-The%25&type=playlist&offset=0&limit=20',
'items': [{
'collaborative': False,
'description': 'Remember what you listened to in 2010? Rewind and rediscover your favorites.',
'external_urls': {
'spotify': 'https://open.spotify.com/playlist/37i9dQZF1DXc6IFF23C9jj'
},
'href': 'https://api.spotify.com/v1/playlists/37i9dQZF1DXc6IFF23C9jj',
'id': '37i9dQZF1DXc6IFF23C9jj',
'images': [{
'height': None,
'url': 'https://i.scdn.co/image/ab67706f0000000327ba1078080355421d1a49e2',
'width': None
}],
'name': 'Rewind - The Sound of 2010',
'owner': {
'display_name': 'Spotify',
'external_urls': {
'spotify': 'https://open.spotify.com/user/spotify'
},
'href': 'https://api.spotify.com/v1/users/spotify',
'id': 'spotify',
'type': 'user',
'uri': 'spotify:user:spotify'
},
'primary_color': None,
'public': None,
'snapshot_id': 'MTU5NTUzMTE1OSwwMDAwMDAwMGQ0MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0Mjdl',
'tracks': {
'href': 'https://api.spotify.com/v1/playlists/37i9dQZF1DXc6IFF23C9jj/tracks',
'total': 100
},
'type': 'playlist',
'uri': 'spotify:playlist:37i9dQZF1DXc6IFF23C9jj'
}, ]
}
}
res_dict = {'id':[items['id'], items['owner']['id']] for items in _json['playlists']['items']}
print(res_dict)
輸出 :
{'id': ['37i9dQZF1DXc6IFF23C9jj', 'spotify']}
如果您不需要 json 對(duì)象中存在的第二個(gè) id,您可以將其從 res_dict 上方刪除并將其修改為 -
res_dict = {'id':items['id'] for items in _json['playlists']['items']}
這只會(huì)獲取items數(shù)組中存在的 id 作為任何元素的鍵,而不是任何進(jìn)一步嵌套的 id(比如 items[i]->owner->id 不會(huì)像第一個(gè)案例那樣出現(xiàn)在最終資源中)。
添加回答
舉報(bào)