广告位联系
返回顶部
分享到

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

python 来源:互联网 作者:佚名 发布时间:2024-01-29 22:07:41 人浏览
摘要

使用json.dumps输出中文 在使用json.dumps时要注意一个问题 1 2 3 import json print(json.dumps(中国)) \u4e2d\u56fd 输出的会是 中国 中的ascii字符码,而不是真正的中文。 这是因为json.dumps序列化时对中

使用json.dumps输出中文

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

1

2

3

>>> import json

>>> print(json.dumps('中国'))

"\u4e2d\u56fd"

输出的会是

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

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

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

1

2

3

4

5

>>> import json

>>> print(json.dumps('中国'))

"\u4e2d\u56fd"

>>> print(json.dumps('中国', ensure_ascii=False))

"中国"

Python json.dumps()中文乱码

有一段代码如下:

1

2

3

4

5

6

7

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编码之后的字符串。

更改如下:

1

2

3

4

5

6

7

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)

而后,显示正常!


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Python中selenium获取token的方法

    Python中selenium获取token的方法
    在不用(或不知道接口)接口获取token的情况下,通过selenium登录获取到token ------该token值会作为后续调用接口的凭证 ps:token、cookie 都可以是接
  • Python实现拉格朗日插值法的介绍
    概述拉格朗日插值法 什么是插值法 插值法是一种数学方法,用于在已知数据点(离散数据)之间插入数据,以生成连续的函数曲线。 插值
  • python使用json.dumps输出中文问题

    python使用json.dumps输出中文问题
    使用json.dumps输出中文 在使用json.dumps时要注意一个问题 1 2 3 import json print(json.dumps(中国)) \u4e2d\u56fd 输出的会是 中国 中的ascii字符码,而不是
  • python去除字符串中的空格、特殊字符和指定字符

    python去除字符串中的空格、特殊字符和指定字符
    去除字符串中的空格、特殊字符、指定字符等,在python中,为我们提供了三种方法: strip()删除字符串前后(左右两侧)的空格或特殊字符
  • Python中文词频统计介绍

    Python中文词频统计介绍
    词频统计是指在文本中计算每个词出现的次数。 在 Python 中,可以使用一些第三方库(如 jieba)来分词,然后使用字典等数据结构记录每个
  • Python Matplotlib基本用法介绍

    Python Matplotlib基本用法介绍
    Matplotlib Matplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手 Matplotlib。 1. 认识Matploblib 1.1 Figure 在任何绘图之前,我们需
  • Python 中OS module的使用介绍
    Python的os模块是用于与操作系统进行交互的标准库之一,它提供了许多有用的函数和变量,以便处理文件和目录。下面是一些常见的os模块函
  • 通过Python的filestools库给图片添加全图水印

    通过Python的filestools库给图片添加全图水印
    一、filestools库简介 filestools目前包含四个工具包,分别是树形目录显示、文件差异比较、图片加水印和curl请求转python代码。 二、安装files
  • 使用PowerShell实现批量修改或替换文件名

    使用PowerShell实现批量修改或替换文件名
    当时我们修改文件名的需求比较复杂,因此选择了用Python语言来实现;而在我们的需求重命名规则相对比较简单时,则可以基于PowerShell语言
  • Python实现统计图像连通域
    数组统计函数 ndimage提供一系列函数,可以计算标注后的数组的相关特征,比如最值、均值、均方根等。 下列函数,如果未作其他说明,那
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计