我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

在python代码中,如何把json对象输出为字符串呢? 如果json对象中存在中文的时候,输出的字符串会出现乱码,该如何处理?这些就是本文的主要讨论内容。

苏南大叔:python代码,如何解决json.dumps输出中文乱码问题? - python-json-中文乱码
python代码,如何解决json.dumps输出中文乱码问题?(图3-1)

大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文描述如何使用json.dumps输出json字符串。测试环境:win10python@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"}

从运行结果可以看到,输出中文的时候,会有人们无法识别的乱码出现。

苏南大叔:python代码,如何解决json.dumps输出中文乱码问题? - json-dumps-code-1
python代码,如何解决json.dumps输出中文乱码问题?(图3-2)

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代码,如何解决json.dumps输出中文乱码问题? - json-dumps-code-2
python代码,如何解决json.dumps输出中文乱码问题?(图3-3)

相关文章

如果编程语言不是python的话,而是php的话,解决中文乱码文档的话,对应的函数是json_encode,参数是JSON_UNESCAPED_UNICODE

编程语言函数名称参数调用方式
pythonjson.dumpsensure_ascii=Falsejson.dumps(str,ensure_ascii=False)
phpjson_encodeJSON_UNESCAPED_UNICODEjson_encode(str,JSON_UNESCAPED_UNICODE)

综述

json对象输出为字符串,是在做api服务的时候的必不可少的步骤。如果需要输出中文的话,必然会碰到乱码的问题。那么,请用本文的方法解决这个问题吧。更多python相关文章,请点击:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python    json