python使用json.dumps输出中文问题

 更新时间:2023年02月08日 15:47:13   作者:林新发  
这篇文章主要介绍了python使用json.dumps输出中文问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

使用json.dumps输出中文

在使用json.dumps时要注意一个问题

>>> import json
>>> print(json.dumps('中国'))
"\u4e2d\u56fd"

输出的会是

‘中国’ 中的ascii字符码,而不是真正的中文。

这是因为json.dumps序列化时对中文默认使用的ascii编码

想输出真正的中文需要指定ensure_ascii=False:

>>> import json
>>> print(json.dumps('中国'))
"\u4e2d\u56fd"
>>> print(json.dumps('中国', ensure_ascii=False))
"中国"

Python json.dumps()中文乱码

有一段代码如下:

        def save_data(self,data):
            print(data)
            #ensure_ascii=False
            data=json.dumps(data)
            print(data)
            with open('ljd.json',mode='w',encoding='utf-8') as f:
                f.write(data)

date在传递进来之前是字典格式数据,现在为了能保存到文件中,因此用json.dumps(data)来将字典数据转换为json字符串,但是转换以后前后显示就有问题了,如下:

发现转换以后,中文乱码了。

原因:json.dumps 序列化时默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:更深入分析,是应为dJSON object 不是单纯的unicode实现,而是包含了混合的unicode编码以及已经用utf-8编码之后的字符串。

更改如下:

        def save_data(self,data):
            print(data)
            #ensure_ascii=False
            data=json.dumps(data,ensure_ascii=False)
            print(data)
            with open('ljd.json',mode='w',encoding='utf-8') as f:
                f.write(data)

而后,显示正常!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • pytorch rpc实现分物理机器实现model parallel的过程详解

    pytorch rpc实现分物理机器实现model parallel的过程详解

    这篇文章主要介绍了pytorch rpc实现分物理机器实现model parallel的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • python面试题之read、readline和readlines的区别详解

    python面试题之read、readline和readlines的区别详解

    当python进行文件的读取会遇到三个不同的函数,它们分别是read(),readline(),和readlines(),下面这篇文章主要给大家介绍了关于python面试题之read、readline和readlines区别的相关资料,需要的朋友可以参考下
    2022-07-07
  • Python 正则表达式进阶用法之字符集与字符范围详解

    Python 正则表达式进阶用法之字符集与字符范围详解

    本文详细介绍了Python正则表达式中的字符集和字符范围,包括字符集的基本概念、特殊字符、示例和注意事项,通过这些进阶用法,我们可以更高效地处理复杂的文本模式,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • 浅析使用Python搭建http服务器

    浅析使用Python搭建http服务器

    这篇文章主要介绍了使用Python搭建http服务器,本文通过代码实例相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Python实现pdf转word详细代码

    Python实现pdf转word详细代码

    在日常工作中,我们经常会遇到需要将PDF文件转换成Word文件的需求。虽然市面上有许多PDF转Word的工具,但是它们通常需要付费或者有转换后的格式问题,这篇文章主要给大家介绍了关于Python实现pdf转word的相关资料,需要的朋友可以参考下
    2023-09-09
  • keras 多任务多loss实例

    keras 多任务多loss实例

    这篇文章主要介绍了keras 多任务多loss实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python代码区分大小写吗

    python代码区分大小写吗

    在本篇文章里小编给大家整理了一篇关于python是否区分大小写的相关内容,对此有疑惑的新手们来学习下吧。
    2020-06-06
  • Django实现whoosh搜索引擎使用jieba分词

    Django实现whoosh搜索引擎使用jieba分词

    这篇文章主要介绍了Django实现whoosh搜索引擎使用jieba分词,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • yolov5 win10 CPU与GPU环境搭建过程

    yolov5 win10 CPU与GPU环境搭建过程

    这篇文章主要介绍了yolov5 win10 CPU与GPU环境搭建过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • python使用pyshark库捕获数据包的示例详解

    python使用pyshark库捕获数据包的示例详解

    PyShark是一个基于Python的网络数据包分析工具库,它允许用户捕获、解码和分析实时网络流量,特别是Wi-Fi和TCP/IP协议的数据,所以本文给大家介绍了python使用pyshark库捕获数据包的示例,需要的朋友可以参考下
    2024-08-08

最新评论