微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python json.dump中文乱码问题

json.dumps在认情况下,对于非ascii字符生成的是相对应的字符编码,而非原始字符

问题现象:

>>> import json
>>> js = json.loads('{"haha": "哈哈"}')
>>> print json.dumps(js)
{"name": "\u54c8\u54c8"}

解决办法:

设置 ensure_ascii=False 选项

>>> print json.dumps(js,ensure_ascii=False)
{"name": "哈哈"}

应用实例:

import json

#将字典转换成json文本
dic = {"companyId":95651,"positionName":"自动化测试","workYear":"3-5年","education":"本科","jobNature":"全职","companylogo":"i/image2/M01/2C/57/CgoB5lzUGO2AAoc3AACv6egD568191.png","salary":"15k-25k","city":"北京","financeStage":"B轮","industryField":"社交","companyShortName":"玩吧","approve":1,"positionId":5537531,"createTime":"2019-07-26 10:53:22","positionAdvantage":"七险一金,弹性不打卡,免费午餐,季度旅游","companySize":"150-500人"}
print(type(dic))
aString = json.dumps(dic,ensure_ascii=False)
print(type(aString))
print(aString)
json.dump(dic,open('test2.json',mode='w',encoding='utf-8'),ensure_ascii=False,)

输出

<class 'dict'>
<class 'str'>
{"companyId": 95651,"positionName": "自动化测试","workYear": "3-5年","education": "本科","jobNature": "全职","companylogo": "i/image2/M01/2C/57/CgoB5lzUGO2AAoc3AACv6egD568191.png","salary": "15k-25k","city": "北京","financeStage": "B轮","industryField": "社交","companyShortName": "玩吧","approve": 1,"positionId": 5537531,"createTime": "2019-07-26 10:53:22","positionAdvantage": "七险一金,"companySize": "150-500人"}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐