Skip to main content
 首页 » 编程设计

python之python加载json时,如何将str转成unicode,才能打印汉字

2025年05月04日9softidea

我有一个这样的 json 文件:

{ 
    'errNum': 0,     
    'retData': { 
    'city': "武汉" 
    } 
} 
 
import json  
content = json.loads(result) # supposing json file named result 
cityname = content['retData']['city']  
print cityname 

在那之后,我得到了一个输出:\u6b66\u6c49 我知道是武汉的汉字unicode,但是它的类型是str isinstance(cityname,str) 为真。 那么如何将此 str 转换为 unicode 并输出 武汉

我也尝试过这些解决方案:

>>> u'\u6b66\u6c49' 
u'\u6b66\u6c49' 
>>> print u'\u6b66\u6c49' 
武汉 
>>> print '\u6b66\u6c49'.decode() 
\u6b66\u6c49 
>>> print '\u6b66\u6c49' 
\u6b66\u6c49 

搜了些ascii,unicode,utf-8,encode,decode,还是看不懂,疯了! 我需要一些帮助,谢谢!

请您参考如下方法:

也许这个答案来得太晚了五年,但由于我有一个类似的问题,我试图解决,同时为日语语言构建预处理器,这是我找到的答案。

当您加载 result 到content 时,添加以下标志:

content = json.loads(result, ensure_ascii=False) 

这解决了我的问题。