python ::遍历嵌套的JSON结果

dat*_*den 5 python iteration json loops

迭代JSON results有时会变得很混乱。说我有一个function像这样:

def get_playlist_owner_ids(query):

    results = sp.search(q=query, type='playlist')
    id_ = results['playlists']['items'][0]['owner']['id']
    return (id_)
Run Code Online (Sandbox Code Playgroud)

我可以获取id_,它有效。

但是我该如何使用for i in x循环进行迭代,以便return全部使用ids_呢?

Two*_*ist 5

results['playlists']['items'][0]['owner']['id']
                              ^___ this is a list index
Run Code Online (Sandbox Code Playgroud)

因此:

for item in results['playlists']['items']:
    print(item['owner']['id'])
Run Code Online (Sandbox Code Playgroud)

为了使内容更具可读性,创建中间变量通常很方便。

playlist_items = results['playlists']['items']
for item in playlist_items:
    owner = item['owner']
    print(owner['id'])
Run Code Online (Sandbox Code Playgroud)

这是假设我仅根据您显示的内容正确猜测了您的对象的结构。不过,希望这些示例为您提供了一些更好的方式来思考将复杂结构拆分为有意义的块。