filejson.json
{"Fiksi":[
{
"judul":"fiksi1",
"pengarang":"pengarang1",
"file":"namafiksi1.txt"
},
{
"judul":"fiksi2",
"pengarang":"pengarang2",
"file":"namafiksi2.txt"
}
],
"Non-Fiksi":[
{
"judul":"nonfiksi1",
"penulis":"penulis1",
"file":"namanonfiksi1.txt"
},
{
"judul":"nonfiksi2",
"penulis":"penulis2",
"file":"namanonfiksi2.txt"
}
]
我想在标签" Fiksi"上插入新对象。所以该项可以插入文件json的中间。 像这样的对象:
item = {"judul":"fiksi3", "pengarang":"pengarang3","file":"namafiksi3.txt"}
我现在的代码:
config = json.loads(open('filejson.json').read())
with open('filejson.json','a') as f:
data = f["Fiksi"].append(item)
json.dumps(data)
它不起作用
答案 0 :(得分:4)
第1步:读取数据
config = json.loads(open('filejson.json').read())
Step2:更新数据(在python对象中)
config["Fiksi"].append(item)
步骤3:将所有数据(不附加)写回文件
with open('filejson.json','w') as f:
f.write(json.dumps(config))
在旁注中,您可以在处理文件时使用json.load
和json.dump
代替json.loads
和json.dumps
,因此它将
with open('filejson.json', 'r') as f:
config = json.load(f)
config["Fiksi"].append(item)
with open('filejson.json','w') as f:
json.dump(config, f)
答案 1 :(得分:1)
最好的方法是使用python对象:
答案 2 :(得分:1)
只需添加:
f.write(json.dumps(data))