2017-10-23 15 views
0

私は私のc.jsonファイルに次のデータがあります。その目的のためにPythonは - JSONファイルにデータを追加

new_data = {'next_songs': ['song1', 'song2']} 

:私はそれを追加したい

{ 
    "192.168.0.129": { 
     "username": "me", 
     "streaming": "Spotify", 
     "name": "John", 
     "email": "[email protected]" 
    } 
} 

と、この他のデータを私はこれをやっている:

with open('c.json', 'r') as json_data: 
    data = json.load(json_data) 

data.update(new_data) 

with open('c.json', 'w') as json_data: 
    json.dump(data, json_data, indent=4) 

この作品が、ない非常に、私が得るために:

{ 
    "next_songs": [ 
     "song1", 
     "song2" 
    ], 
    "192.168.0.129": { 
     "username": "me", 
     "streaming": "Spotify", 
     "name": "John", 
     "email": "[email protected]" 
    } 
} 

と私はそうのように付加されたデータは、キー"192.168.0.129"下の値になりたい:

{ 
    "192.168.0.129": { 
     "username": "me", 
     "streaming": "Spotify", 
     "name": "John", 
     "email": "[email protected]" 
     "new_data": ["song1", "song2"], 
    } 
} 

は、どのように私はこれを達成できますか?

答えて

1

のみ、特定のdictのプロパティ"192.168.0.129"(内側の辞書がある)に更新する必要があり、全体ではなく、メイン辞書は:あなたが

data.update(new_data)がすべき間違った辞書を更新することができるように

... 
data["192.168.0.129"].update(new_data) 
1

に見えますbe data["192.168.0.129"].update(new_data)

関連する問題