• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何用字典将新字典添加到已有的json文件中?

python 来源:Daisy.Hsu 5次浏览

我保存在本地服务器中的JSON文件,如:如何用字典将新字典添加到已有的json文件中?

{ 
     "user": "user1", 
     "id": "21779" 
    } 

,我要再写词典到这个JSON文件,我需要新的内容是这样的:

{ 
     { 
     "user": "user1", 
     "id": "21779" 
     }, 
     { 
     "user": "user2", 
     "id": "21780" 
     } 
    } 

或者:

 [ 
     { 
     "user": "user1", 
     "id": "21779" 
     }, 
     { 
     "user": "user2", 
     "id": "21780" 
     } 
    ] 

我尝试使用那样json.dump()来添加新的元素,但显示为:

{ 
     "user": "user1", 
     "id": "21779" 
    } 
    { 
     "user": "user2", 
     "id": "21780" 
    } 

这不是一个有效的json文件。

我该如何使用json.dump,json.load或其他方法? 谢谢你的帮助!


===========解决方案如下:

您必须先阅读您的JSON文件,然后将其转换为list而不是dict。然后,您只需追加到该列表并覆盖您的文件JSON

import json 

data = json.load(open('data.json')) 

# convert data to list if not 
if type(data) is dict: 
    data = [data] 

# append new item to data lit 
data.append({ 
    "user": "user2", 
    "id": "21780" 
}) 

# write list to file 
with open('data.json', 'w') as outfile: 
    json.dump(data, outfile) 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)