我在stackoverflow上查找了我的问题,有几种解决方案对我的问题都不起作用。
我想在我的json文件中添加一些新条目。
我的json文件(data.json):
{
"blabla1":"dubdub1",
"blabla2":"dubdub2"
}
我的代码(使用extend方法):
import json
with open('data.json') as json_data_file:
data = json.load(json_data_file)
result = list()
result.extend(data)
result.extend({'blabla3': 'dubdub3'})
data = result
print(data)
它会给出如下输出:
['blabla1', 'blabla2', 'blabla3']
我的代码(使用append方法):
import json
with open('data.json') as json_data_file:
data = json.load(json_data_file)
result = list()
result.append(data)
result.append({'blabla3': 'dubdub3'})
data = result
print(data)
它会给出如下输出:
[{'blabla1': 'dubdub1', 'blabla2': 'dubdub2'}, {'blabla3': 'dubdub3'}]
我最后需要的是:
[{'blabla1': 'dubdub1', 'blabla2': 'dubdub2', 'blabla3': 'dubdub3'}]
那么我哪里错了呢?很抱歉,如果同样的问题已经得到了回答,但我找不到适合我的东西。谢谢!
2条答案
按热度按时间icomxhvb1#
无需对代码做太多修改,就可以实现最初的请求,如下所示:
这将产生您预期的结果:
简短说明:
您调用的方法 json.load 创建了一个字典对象 data,如下所示:
然后通过调用 result.append(data),将 data 字典添加为列表对象 result 中的第一个成员:
每隔一次调用 append() 方法时,只需向列表中添加另一个成员:
相反,您似乎希望向数据字典添加另一个键-值对,如previous answer中所述
7gs2gvoe2#
这是否更接近您想要的结果?使用新键和值更新的字典
编辑:
要同时更新多个条目,可以使用
update