python读取json文件有中文会报错

withopen('./json.json','r')asjson_file:"""读取该json文件时,先按照gbk的方式对其解码再编码为utf-8的格式"""data... with open('./json.json', 'r') as json_file:
"""
读取该json文件时,先按照gbk的方式对其解码再编码为utf-8的格式
"""
data = json_file.read().decode(encoding='gbk').encode(encoding='utf-8')
print(type(data)) # type(data) = 'str'
result = json.loads(data)
new_result = json.dumps(result,ensure_ascii=False) # 参考网上的方法,***ensure_ascii***设为False
print(new_result)

按网上的这种写法,打印会报data = json_file.read().decode(encoding='gbk').encode(encoding='utf-8')
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 1590: illegal multibyte sequence 这种错,有什么解决方法
展开
 我来答
先食刻头穷2V
2019-09-10 · TA获得超过397个赞
知道小有建树答主
回答量:588
采纳率:69%
帮助的人:64.9万
展开全部
估计是乱码造成,需要在读取的py文件中指定编码格式:
在文件开头,设置成gbk格式import os,sys,re,csv
reload(sys)
sys.setdefaultencoding('gbk')
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式