如果要將數據保存爲JSON,則需要將其轉換爲JSON可以使用的格式。我不知道你的數據是什麼,或者這是否是最好的選擇,但作爲一個例子,我把元組轉換成一個字符串,以後可以拆分出來。因此,例如,('alternative rock', 19)
變爲'alternative rock 19'
。您可能需要其他一些格式,但這是一種合理的方式。
>>> tags = {'playlist': {('seen live', 21): 1, ('indie', 46): 1, ('british rock', 2): 1, ('alternative rock', 19): 1, ('00s', 2): 1, ('english', 2): 1, ('brit pop', 2): 1, ('pop rock', 2): 1, ('90s', 10): 1, ('classic rock', 3): 1, ('hard rock', 2): 1, ('Manchester', 4): 1, ('favorites', 1): 1, ('british', 61): 1, ('rock', 89): 1, ('alternative', 53): 1, ('punk', 1): 1, ('male vocalists', 2): 1, ('britpop', 100): 1, ('pop', 7): 1, ('UK', 4): 1, ('oasis', 9): 1, ('indie rock', 12): 1, ('Britrock', 3): 1, ('england', 1): 1, ('brit rock', 2): 1}}
>>> tags['playlist'] = {'{} {}'.format(*k):v for k,v in tags['playlist'].items()}
>>> print(tags['playlist'])
{'alternative 53': 1, 'oasis 9': 1, 'alternative rock 19': 1, 'british 61': 1, 'male vocalists 2': 1, 'brit rock 2': 1, 'england 1': 1, 'punk 1': 1, 'pop rock 2': 1, '00s 2': 1, 'seen live 21': 1, 'indie 46': 1, 'hard rock 2': 1, 'favorites 1': 1, 'Britrock 3': 1, 'english 2': 1, 'indie rock 12': 1, '90s 10': 1, 'classic rock 3': 1, 'brit pop 2': 1, 'pop 7': 1, 'british rock 2': 1, 'rock 89': 1, 'UK 4': 1, 'Manchester 4': 1, 'britpop 100': 1}
>>> json.dumps(tags)
'{"playlist": {"alternative 53": 1, "oasis 9": 1, "alternative rock 19": 1, "british 61": 1, "male vocalists 2": 1, "brit rock 2": 1, "england 1": 1, "punk 1": 1, "pop rock 2": 1, "00s 2": 1, "seen live 21": 1, "indie 46": 1, "hard rock 2": 1, "favorites 1": 1, "Britrock 3": 1, "english 2": 1, "indie rock 12": 1, "90s 10": 1, "classic rock 3": 1, "brit pop 2": 1, "pop 7": 1, "british rock 2": 1, "rock 89": 1, "UK 4": 1, "Manchester 4": 1, "britpop 100": 1}}'
根據您想要對序列化數據層執行什麼操作,有多個選項。首先選擇JSON有沒有原因?你是否將此傳遞給非python程序? – tdelaney
可能會將它傳遞給非pyhton程序,是的。我之所以選擇它,是因爲音樂API數據通常是用JSON序列化的,我將處理這種數據。 –