Python解析JSON文件失败,请求协助排查问题
JSON解析失败的排查与解决
从你提供的文件内容来看,问题出在文件是Python字典格式,而非标准JSON格式,导致json.load()无法正常解析,具体差异点:
- JSON要求字符串必须用双引号,而文件里用了单引号
- JSON的布尔值是小写的
true/false,文件里用的是Python风格的True/False
下面提供两种解决方法:
方法一:将文件转为标准JSON格式
手动或通过脚本批量替换内容:
- 把所有单引号
'替换成双引号" - 把
True替换为true,False替换为false
修改完成后,原代码即可正常运行。
方法二:用Python的ast模块解析原文件
如果不想修改原文件,可以使用ast.literal_eval()来安全解析Python风格的字典结构:
import ast with open('all_links_dict.json') as fd: raw_data = fd.read() parsed_data = ast.literal_eval(raw_data) print(parsed_data)
ast.literal_eval()专门用于解析Python字面量结构,比eval()更安全,不会执行恶意代码。
内容的提问来源于stack exchange,提问作者Alberi
相关产品推荐
相关产品推荐

