python2 unicode编码转换中文_python2下解决json的unicode编码问题

基础知识:

序列化——json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为json字符串)

反序列化——json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将json字符串转化为字典)

python 2下使用json.loads往往会导致最终的结果编码是unicode,并不是我们想要的str型,如下所示:

test = {"name": "扎克伯格", "age":18}

print test

test_json = json.dumps(test, ensure_ascii=False)   ——中文打印会默认为ASCII,所以显示Unicode,需要将ensure_ascii=False才会显示中文

print test_json

test1 = json.loads(test_json)

print test1

运行的结果是:

{‘age‘: 18, ‘name‘: ‘\xe6\x89\x8e\xe5\x85\x8b\xe4\xbc\xaf\xe6\xa0\xbc‘}

{"age": 18, "name": "扎克伯格"}

{u‘age‘: 18, u‘name‘: u‘\u624e\u514b\u4f2f\u683c‘}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值