读书人

python json的编码有关问题

发布时间: 2012-12-17 09:31:40 作者: rapoo

求助python json的编码问题
import json

s = '{"Name":"中文"}'
obj = json.loads(s, 'gbk')
print(obj)

输出
{'Name': u'\u4e2d\u6587'}

请问大家 怎么才能让此处输出
{'Name':'中文'}


非常感谢
[最优解释]
不可以,得自己写个格式化输出
[其他解释]
这个和json没关系。你自己试下print {"Name": "中文"}输出是什么。你打出来的东西只是Python对象的一个原始的内部表示,对你写的应用的最终用户通常是不可见的,你也不必可以在乎它打出来的是什么样子。
[其他解释]
恩 了解了 不过自带的json好像会转换成unicode编码 然后换用了 python-json 不过据说这个会有效率问题 目前先这样用算了
[其他解释]
啥时候还要回复才能看了啊
[其他解释]
python输出json时中文处理问题
分类: python 2012-07-25 22:19 162人阅读 评论(0) 收藏 举报
(转贴,非原创)json.dumps在默认情况下,对于非ascii字符生成的是相对应的字符编码,而非原始字符,例如:

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

解决办法很简单:

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

分享到:

读书人网 >perl python

热点推荐