Python存储json数据发生乱码

目录

1.介绍

2.样例代码

3.解决方法

(1)使用 json.dump() 保存文件时中文会变成 Unicode,样式如下:

(2)使用 json.dump() 保存文件时中文会变成口字码,样式如下:

4.验证


1.介绍

        当使用json.dump()把python对象转换为json后存储到文件中时,文件可能会出现乱码的问题,本篇文章可以帮助您解决以下两种乱码:

Python存储json数据发生乱码_第1张图片

Python存储json数据发生乱码_第2张图片

         主页还有一些其他的文章,可以通过以下链接快速访问:

代码写不完了的博客_CSDN博客代码写不完了擅长Python项目,python操作文件,系统环境配置,等方面的知识,代码写不完了关注pandas,python,django,pygame,spark,pip,virtualenv,numpy,flask领域.https://blog.csdn.net/spx_0108

2.样例代码

以下是用于演示的样例代码:

import json

json_data = {
    "姓名": "张三",
    "年龄": 23,
    "性别": "男",
    "爱好": "打篮球"
}
# 指定编码格式encoding='utf-8'
# with open('./data/test.json', 'w', encoding='utf-8') as f:
with open('./data/test.json', 'w') as f:
    # indent参数指定缩进量
    # 其中的ensure_ascii默认为True,表示会将所有输入的非ASCII字符转义。只要改成False就可以。
    # json.dump(json_data, f, indent=2, ensure_ascii=False)
    json.dump(json_data, f, indent=2)

3.解决方法

(1)使用 json.dump() 保存文件时中文会变成 Unicode,样式如下:

Python存储json数据发生乱码_第3张图片

        json.dump()中的ensure_ascii默认为True,表示会将所有输入的非ASCII字符转义。只要改成False就可以。

Python存储json数据发生乱码_第4张图片

(2)使用 json.dump() 保存文件时中文会变成口字码,样式如下:

Python存储json数据发生乱码_第5张图片

        写入程序使用的编码方式和数据目标的编码方式不同造成的,申明open()函数的编码方式为'utf-8',即encoding="utf-8" 即可解决.

Python存储json数据发生乱码_第6张图片

4.验证

        重新运行程序,查看保存的json文件,发现中文不再乱码:

Python存储json数据发生乱码_第7张图片

 

 

你可能感兴趣的:(python操作文件,json,python)