我需要解析其他工具生成的文件,该工具无条件输出带有 UTF-8 BOM 标头(EFBBBF)的 json 文件。我很快发现这就是问题所在,因为 Python 2.7 模块似乎无法解析它:
>>> import json
>>> data = json.load(open('sample.json'))
ValueError: No JSON object could be decoded
删除BOM,解决了,但我想知道是否有另一种方法可以解析带有BOM头的json文件?
您可以打开codecs
:
import json
import codecs
json.load(codecs.open('sample.json', 'r', 'utf-8-sig'))
或解码utf-8-sig
你自己并传递给loads
:
json.loads(open('sample.json').read().decode('utf-8-sig'))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)