python json.dump中文乱码问题

本文介绍了Python中json.dumps()在默认情况下会将非ASCII字符转为Unicode编码,以及如何通过设置`ensure_ascii=False`参数来保持原始字符不变。示例展示了如何将字典转换为JSON字符串并保存到文件,同时保留中文字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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人"}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值