json.load()读取json文件数据时,报错:XXXXXXXXX。是因为在json文件中的引号为单引号,json.load()只能识别双引号。避免报错的方式有三种:
1、从保存文件时入手,刚开始就避免json文件中写入单引号。json文件之所以写入单引号,大概率是在写入数据时,直接str(dict_data)字典转字符串,这种野战军作战遗留问题就是不能用json.load()读取,写的时候应该用:json.dump(dict_data,file),一次写入到json文件中的字典是双引号的。
2、如果不想更换写入方式,或者数据是别人的,难么可以换读取方式。使用内置模块ast的literal_eval方法:
import ast
ast.literal_eval(string)
3、直接使用python内置函数eval(string)
2和3的方法可以直接把字符串形式的json数据转为字典。