python处理json中的unicode中文编码问题.

查看:791
本文介绍了python处理json中的unicode中文编码问题.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

大概就是从服务器接口传回一个josn格式的包
{"from":"en","to":"zh","trans_result":[{"src":"East Berlin, 1975","dst":"\u4e1c\u67cf\u6797\uff0c1975"}]}
这个样子,然后我用eval()处理了这个包

u = response.read() #从服务器接口传回的
dict_mid = eval(u) #这里通过eval()将这个包变成了字典
dict_trans = dict_mid.get('trans_result') #然后得到trans_result中的值,值是一个列表,只有一个元素就是{"src":"East Berlin, 1975","dst":"\u4e1c\u67cf\u6797\uff0c1975"}
dict_trans_mid = dict_trans[0] #然后获得这个元素...大牛原谅这种笨重的处理
result_mid = dict_trans_mid.get('dst') #然后这个元素呢又是一个字典,就又获得dst的值
result = (unicode(result_mid, 'utf8')).encode("UTF-8") #想把这个\u4e1c\u67cf\u6797\uff0c1975编码成utf8,然后输出
print result #可是输出结果还是\u4e1c\u67cf\u6797\uff0c1975

假如把这个\u4e1c\u67cf\u6797\uff0c1975复制到终端python里面

print (u'\u4e1c\u67cf\u6797\uff0c1975').encode("UTF-8")

是可以获得中文输出的
所有来问问各位大牛,怎么在程序中输出中文

解决方案

由于我用的Python3.X,所以直接打印出来就行了……
即便你使用的是Python2.X,也还有救。可以使用__future__模块嘛~

这篇关于python处理json中的unicode中文编码问题.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆