python代码,如何解决json.dumps输出中文乱码问题?
发布于 作者:苏南大叔 来源:程序如此灵动~
在python代码中,如何把json对象输出为字符串呢? 如果json对象中存在中文的时候,输出的字符串会出现乱码,该如何处理?这些就是本文的主要讨论内容。

大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文描述如何使用json.dumps输出json字符串。测试环境:win10,python@3.6.8。
json.dumps
测试代码:
import json
_json = {"msg": "ok"}
_json2 = {"host": "苏南大叔", "msg": "ok"}
__json = json.dumps(_json)
__json2 = json.dumps(_json2)
print(__json)
print(__json2)输出:
{"msg": "ok"}
{"host": "\u82cf\u5357\u5927\u53d4", "msg": "ok"}从运行结果可以看到,输出中文的时候,会有人们无法识别的乱码出现。

ensure_ascii=False
使用json.dumps输出中文的时候,同样的json.dumps函数,加个ensure_ascii=False参数即可,就可以正常显示中文了。测试代码如下:
import json
_json = {"msg": "ok"}
_json2 = {"host": "苏南大叔", "msg": "ok"}
__json = json.dumps(_json)
# __json2 = json.dumps(_json2)
__json2 = json.dumps(_json2, ensure_ascii=False)
print(__json)
print(__json2)输出:
{"msg": "ok"}
{"host": "苏南大叔", "msg": "ok"}
相关文章
如果编程语言不是python的话,而是php的话,解决中文乱码文档的话,对应的函数是json_encode,参数是JSON_UNESCAPED_UNICODE。
| 编程语言 | 函数名称 | 参数 | 调用方式 |
|---|---|---|---|
| python | json.dumps | ensure_ascii=False | json.dumps(str,ensure_ascii=False) |
| php | json_encode | JSON_UNESCAPED_UNICODE | json_encode(str,JSON_UNESCAPED_UNICODE) |
综述
json对象输出为字符串,是在做api服务的时候的必不可少的步骤。如果需要输出中文的话,必然会碰到乱码的问题。那么,请用本文的方法解决这个问题吧。更多python相关文章,请点击: