抱歉,我之前的回答有误导。在你的代码中,`self.car`是一个列表,而不是字典。因此,我们需要调整代码以正确处理列表中的字典元素。下面是修改后的代码:
class InsertCar:
def __init__(self):
self.car_message_path = path_all.car_message_path
with open(self.car_message_path, mode="r", encoding="utf-8") as car_list:
self.car = json.load(car_list) # 加载原始JSON文件中的数据为列表
def insert_car_message(self, new_car):
num = new_car.get("num")
license = new_car.get("license")
car_dict = {"num": num, "license": license} # 创建新的车辆字典
self.car.append(car_dict) # 将新的字典添加到列表中
with open(self.car_message_path, "w") as to_car_f:
json.dump(self.car, to_car_f) # 将整个列表对象写入JSON文件
需要注意的是,我们创建了一个新的字典`car_dict`来存储车辆信息,并将其添加到`self.car`列表中。然后,我们将整个列表写入JSON文件中。
在其他地方调用`InsertCar`类的示例代码如下:
data = {
"num": "AB123",
"license": "ABC123"
}
insert_car = InsertCar()
insert_car.insert_car_message(data)
这样,通过调用`insert_car_message`方法并传入新的车号和车牌信息,就可以将更新后的列表对象写入JSON文件中。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |