Python 如何将数据附加到不使用';t是否包含该列表的任何键?

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
#加载.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