python3多次dump一次json的时候报JSONDecodeError: Extra data错

import json
data1 = {1:2, 3:4}
data = {1:3, 2:4}
with open('test.json', 'w') as f:

json.dump(data, f)
json.dump(data1, f)

with open('test.json', 'r') as f:

print(json.load(f))

对文件多次dump然后再一次load时, 就会报JSONDecodeError: Extra data错误, 求解

图片描述

json文件内容
图片描述

阅读 9.7k
1 个回答

肯定会报错的啊,你json文件里面有多个对象,是无法解析的。要不你就自己把这些对象分开,然后再json.loads() 要不就存在不同的json文件里面


示例:

import json
d1 = {'1':2, '2':3, '3':4}
d2 = {'1':3, '2':4, '3':5}

with open('data.json', 'w') as f:
    f.write(json.dumps(d1) + '\n' + json.dumps(d2)) # 用换行分开

# 读取时自己分开
with open('data.json', 'r') as f:
    print(json.loads(f.readline()))
    print(json.loads(f.readline()))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题