Python json.dumps() 没有正确编码表情符号

Tho*_*mas 2 python unicode python-unicode

为什么 json.dumps() 将表情符号编码为 un​​icode?请参阅下面的代码和输出:

import json
obj = {"key": "hello "}
print(obj)
Run Code Online (Sandbox Code Playgroud)

{'key': '你好'}

print(json.dumps(obj))
Run Code Online (Sandbox Code Playgroud)

'{"key": "你好 \ud83d\ude00"}'

我已经尝试过print(json.dumps(obj)).encode('utf-8')一些变体(.decode()...),但它并没有太大改变输出。我正在使用 Python 3.6.1

Ama*_*dan 6

print(json.dumps(obj, ensure_ascii=False))
Run Code Online (Sandbox Code Playgroud)

但是,ASCII 变体更易于移植,因为您几乎可以保证不会遇到编码问题。文档