python json.dump 将字典写文件json文件后多了一个花括号"}",读取时报错:json.decoder.JSONDecodeError: Extra data: line

发布时间 2023-12-29 15:11:59作者: Tarzen

我的字典格式:

import json

d = {'Demo': {'Total_Result': 'Pass', 'info': {'test3': 'Pass'}},
     '10.0.0.111': {'Total_Result': 'Pass', 'info': {'test_double_display': 'passed', 'test_ddr_pcie': 'passed'}}}

with open('xxx.json', 'r+') as f:  # 注意这里r+ 是可读可写
    json.dump(d, f)

with open('xxx.json', 'r+') as f:
    res = json.load(f)

print(res)

这个代码会概率出现报错:json.decoder.JSONDecodeError: Extra data: line
修改后代码:

import json

d = {'Demo': {'Total_Result': 'Pass', 'info': {'test3': 'Pass'}},
     '10.0.0.111': {'Total_Result': 'Pass', 'info': {'test_double_display': 'passed', 'test_ddr_pcie': 'passed'}}}

with open('xxx.json', 'w+') as f:  # 注意这里w+ 是可读可写
    json.dump(d, f)

with open('xxx.json', 'r+') as f:
    res = json.load(f)

print(res)

修改点就在:在写入json文件的时候采用w+,不采用r+ 虽然都是可读可写,但是在写json文件的时候确实出现了不可思议的事情。