Python 如何将数据附加到不使用';t是否包含该列表的任何键?
我想将对象附加到.json文件中的列表中。我该怎么办?也许这会帮助您:Python 如何将数据附加到不使用';t是否包含该列表的任何键?,python,json,list,file,Python,Json,List,File,我想将对象附加到.json文件中的列表中。我该怎么办?也许这会帮助您: 导入json #加载.json文件时,它将是一个字符串: 将open('data.json')作为json_文件: x=json.load(json_文件)/{“key1”:“123”、“key2”:“456”、“key3”:“789”} #要追加的python对象 y={“key4”:“101112”} #将json字符串加载为对象类型: z=json.loads(x) #附加数据 z、 更新(y) #结果是一个JSON字
导入json
#加载.json文件时,它将是一个字符串:
将open('data.json')作为json_文件:
x=json.load(json_文件)/{“key1”:“123”、“key2”:“456”、“key3”:“789”}
#要追加的python对象
y={“key4”:“101112”}
#将json字符串加载为对象类型:
z=json.loads(x)
#附加数据
z、 更新(y)
#结果是一个JSON字符串:
打印(json.dumps(z))
以open('data.json','w')作为输出文件:
json.dump(z,outfile)
我不完全确定你在问什么,但下面的代码可能会有所帮助:
[
{
"name": "name one",
"id": 1
},
{
"name": "name two",
"id": 2
}
]
您可以读取现有的json内容,更新它并重写更新的列表
const myList = [
{
"name": "name one",
"id": 1
},
{
"name": "name two",
"id": 2
}
]
const myNewItem = {
"name": "name three",
"id": 3
}
const addItemIfDifferentId = (list, newItem) => [...list, !list.map(({id}) =>id).includes(newItem.id) ? {...newItem} : {} ]
const newList = addItemIfDifferentId(myList, myNewItem)
newList
也许你可以分享一些代码?当你坐在对象上时,你能分享你想要附加的吗?嗨,你的例子不是JSON,它的对象数组。如果您希望它是JSON格式,它必须用{}和一个键包装。@NirGofman在我看来像是完全有效的JSON。@NirGofman在我看来像是JSON,可以通过
JSON.loads
@RitikSwami进行解析,如果您只是读取该文件的内容,然后添加您想要添加的内容,最后你把它写回文件?很感谢,但是我如何在没有任何变量的情况下将它附加到.JSON文件中呢。这是一个JSON文件bro。@RitikSwami我刚刚编辑了我的答案:)TypeError:JSON对象必须是str、bytes或bytearray,而不是list。顺便说一句,谢谢您的回复。我得到了答案。感谢你的努力。谢谢你,尼尔·戈夫曼,谢谢你,沙克尔。这对我们意义重大。我很高兴它帮助了你。谢谢你的回复。但这不是我要找的ans。我有我的ans。学分-沙克尔
import json
with open("myfile.json", "r+") as f:
my_file = f.read() # read the current content
my_list = json.loads(my_file) # convert from json object to dictionary type
dict_obj = {
"name": "name three",
"id": 3
}
my_list.append(dict_obj)
f.seek(0) # sets point at the beginning of the file
f.truncate() # Clear previous content
print(f" going to rewrite {my_list}")
f.write(json.dumps(my_list)) # Write updated version file