簡體   English   中英

從 JSON 文件中提取名稱

[英]Extracting names from JSON file

我試圖從我擁有的 json 文件中只獲取播放列表的名稱,但我無法做到

{'playlists': [{'description': '',
                'lastModifiedDate': '2018-11-20',
                'name': 'Piano',
                'numberOfFollowers': 0,
                'tracks': [{'artistName': 'Kenzie Smith Piano',
                            'trackName': "You've Got a Friend in Me (From "
                                         '"Toy Story")'},
                           {'artistName': 'Kenzie Smith Piano',
                            'trackName': 'A Whole New World (From "Aladdin")'},
                           {'artistName': 'Kenzie Smith Piano',
                            'trackName': 'Can You Feel the Love Tonight? (From '
                                         '"The Lion King")'},
                           {'artistName': 'Kenzie Smith Piano',
                            'trackName': "He's a Pirate / The Black Pearl "
                                         '(From "Pirates of the Caribbean")'},
                           {'artistName': 'Kenzie Smith Piano',
                            'trackName': "You'll be in My Heart (From "
                                         '"Tarzan") [Soft Version]'},

import json
from pprint import pprint
json_data=open('C:/Users/alvar/Desktop/Alvaro/Nueva carpeta/Playlist.json', encoding="utf8").read()

playlist = json.loads(json_data)
pprint(playlist)

這是不工作的地方:

for names in playlist_list:
    print(names['name'])
    print '\n'

我想要的是只提取播放列表的名稱。

錯誤是由於您沒有訪問字典鍵'playlists'

for plst in playlist['playlists']:
    print(plst['name'])

# Piano

您迭代錯誤的對象。

不要忘記json.loads(json_data)在存儲時返回對象。 在您的情況下,它是一個只有一個元素的字典: 'playlist' 您必須使用loaded_json['playlist']訪問此元素,然后遍歷播放列表列表。

這里, loaded_jsonDict[List[Dict]] 小心 JSON 和嵌套數據結構。

嘗試 :

loaded_json= json.loads(json_data)       #type: Dict[List[dict]]
for playlist in loaded_json['playlist']: #type: dict
    print('{}\n'.format(playlist['name']))

通過這樣做,您將獲得所有播放列表的名稱。

文檔: JSON 編碼器和解碼器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM