【发布时间】:2020-05-21 11:59:11
【问题描述】:
我正在尝试保存游戏的高分并将其加载到高分部分,但我保存的方式会在 JSON 文件中添加多个记录。问题是在加载时,只有当有多个记录时,我才会收到错误json.decoder.JSONDecodeError: Extra data。
我很确定this 是我的问题,但我是初学者,我无法理解它。
我在保存什么
score = {
"score" : round_counter,
"name" : player["name"],
"hp left" : player["hitpoints"]
}
我如何保存它
if os.path.isfile('score.json'):
print("your score has been added")
json_dump = json.dumps(score)
f = open("score.json","a")
f.write(json_dump)
f.close()
else :
print ("database doesn't exist so it was created!")
json_dump = json.dumps(score)
f = open("score.json","x")
f.write(json_dump)
f.close()
我是怎么读的
with open ("score.json") as json_data:
data = json.load(json_data)
print(data)
它适用于第一次运行,但是当 .json 文件中有 2 条记录时,我无法读取它。我不知道我是否需要更完整的阅读代码,或者我在 .json 中保存多个字典的方式是根本错误的。
【问题讨论】: