我正在嘗試將新數據寫入現有的json,但沒有運氣。我的繼承人目前的JSON文件dat.dat:更改json值並製作新的
{"users": {"tryhard_cupcake": {"Points": 0, "Time Joined": 9938}}}
,如何我解析它:
def updateUsers(chan):
j = urllib2.urlopen('http://tmi.twitch.tv/group/user/' + chan + '/chatters')
j_obj = json.load(j)
with open('dat.dat', 'r+w') as data_file:
data = json.load(data_file)
for dat in data['users']:
if dat in j_obj['chatters']['moderators']:
points=data['users'][dat]['Points']
json.dump(points + 50, data_file)
updateUsers('tryhard_cupcake')
,我期待到50點添加到用戶,而是它只是附加了50〜文件的結尾。輸出是這樣的:
{"users": {"tryhard_cupcake": {"Points": 0, "Time Joined": 9938}}}
50
我該如何去追加新的數據給用戶並修改它?我期待這樣的結果:
{"users": {"tryhard_cupcake": {"Points": 50, "Time Joined": 9938}}}
所有'json.dump'確實是寫無論你的參數是你'data_file'。你想要的是用'data ['users'] [dat'] ['Points'] + = 50'替換你的實際數據,然後用你的新詞典覆蓋你的整個json文件 –
[可以修改JSON鍵值Python](http://stackoverflow.com/questions/33591231/modifying-json-key-values-in-python) – Harwee