如何在python中解码json unicode字符串?

时间:2019-03-05 07:55:35

标签: python json python-2.7 unicode utf-8

如何在下面打印decoded_json,以便出现表情符号?

>>> raw_json = '"smile "'
>>> decoded_json = cjson.decode(raw_json)
>>> decoded_json
u'smile \xf0\x9f\x98\x8a'

>>> print decoded_json
smile ð

>>> print 'smile \xf0\x9f\x98\x8a' # u' removed
smile 

似乎cjson.decode返回了一个u' Unicode字符串。该unicode字符串具有表情符号的正确字节表示形式,但是在打印该字符串时,会出现其他字符而不是表情符号。 当我在删除u'的情况下打印相同的字符串时,它可以工作。

我可以对decoded_json做些什么来打印表情符号吗?

2 个答案:

答案 0 :(得分:2)

.py文件的顶部添加正确的编码,并使用json模块。

使用的Python:(与您一样)

$ python --version
Python 2.7.14+

代码:

# -*- coding: utf-8 -*-
import json

raw_json = '"smile "'
decoded_json = json.loads(raw_json)
print decoded_json
print 'smile \xf0\x9f\x98\x8a'

输出:

python unicode.py
smile 
smile 

答案 1 :(得分:1)

使用内置的json模块:

import json
raw = '{"": "smile"}'
print(json.loads(raw))

enter image description here