【发布时间】:2021-02-20 10:07:11
【问题描述】:
每次我将字典转储到 JSON 文件中时,都会添加一对方括号,我不知道如何避免。
我使用“尝试”写入现有 JSON 文件(出现问题的地方),并使用 JSONDecodeError 写入空 JSON 文件。 代码如下:
allgrades = []
[...]
currentgrades = {f"name": students_name,
"grade": students_grade,
"date": date.strftime("%Y-%m-%d %H:%M:%S")
}
allgrades.append(currentgrades)
# Write json file
with open("grades.json", "r") as infile:
try:
grades = json.load(infile)
infile.close()
grades.append(allgrades)
with open("grades.json", "w") as outfile:
json.dump(grades, outfile)
except JSONDecodeError:
with open("grades.json", "w") as outfile:
json.dump(allgrades, outfile)
在使用 1 个导出的 dict 运行 py 两次后的 JSON 文件如下所示:
[{"name": "person1", "grade": "4", "date": "2021-02-20 10:42:01"}, [{"name": "person2", "grade": "4", "date": "2021-02-20 10:52:52"}]]
有没有一种方法可以让我最终得到一个只被一对方括号包围的 JSON 文件,无论我添加到 JSON 多少次? 即
[{"name": "person1", "grade": "4", "date": "2021-02-20 10:42:01"}, {"name": "person2", "grade": "4", "date": "2021-02-20 10:52:52"}]
【问题讨论】:
-
您的意思是:'grades.extend(allgrades)'?
标签: python json python-3.x dictionary square-bracket