HoRain云--Python轻松保存JSON文件技巧
·

🎬 HoRain 云小助手:个人主页
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
目录

Python 将数据保存到本地 JSON 文件
在 Python 中,可以使用内置的 json 模块将数据保存为 JSON 文件。以下是几种常用方法和详细说明:
基本方法:使用 json.dump()
这是最常用、最直接的方式,适合将 Python 对象直接写入文件。
import json
# 准备要保存的数据(可以是字典、列表等)
data = {
"name": "张三",
"age": 25,
"is_student": True,
"hobbies": ["编程", "阅读", "运动"],
"address": {
"city": "北京",
"street": "中关村大街"
}
}
# 保存到 JSON 文件
with open('data.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
关键参数说明:
ensure_ascii=False:确保输出的 JSON 包含原始的非 ASCII 字符(如中文),而不是转义为 Unicodeindent=4:使用 4 个空格缩进,使 JSON 文件更易读encoding='utf-8':指定文件编码为 UTF-8,避免中文乱码
备选方法:使用 json.dumps() 先转字符串再写入
当需要对 JSON 字符串进行额外处理时使用:
import json
data = {
"name": "张三",
"age": 25,
"hobbies": ["编程", "阅读"]
}
# 先转换为 JSON 字符串
json_str = json.dumps(data, ensure_ascii=False, indent=4)
# 写入文件
with open('data.json', 'w', encoding='utf-8') as f:
f.write(json_str)
保存列表/批量数据示例
JSON 也支持保存列表结构,适合存储多条记录:
import json
users = [
{"id": 1, "name": "张三", "age": 25},
{"id": 2, "name": "李四", "age": 30},
{"id": 3, "name": "王五", "age": 22}
]
with open('users.json', 'w', encoding='utf-8') as f:
json.dump(users, f, ensure_ascii=False, indent=2)
注意事项
- 中文乱码问题:必须使用
ensure_ascii=False和encoding='utf-8',否则中文会显示为 Unicode 编码 - 文件覆盖:使用
w模式会覆盖原文件内容,如需追加数据需先读取原文件 - 不支持的数据类型:
- 不能直接保存自定义对象(如类实例)
- 不支持
set、datetime等类型,需先转换为字典或使用default参数处理
- JSON 格式要求:JSON 键必须是字符串,且必须使用双引号
追加数据到现有 JSON 文件
如果需要向已存在的 JSON 文件追加数据,可以这样操作:
import json
import os
def append_to_json(file_path, new_data):
# 如果文件存在,读取现有数据
if os.path.exists(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
data = json.load(f)
else:
data = []
# 添加新数据
data.append(new_data)
# 保存回文件
with open(file_path, 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
# 使用示例
append_to_json('users.json', {"id": 4, "name": "赵六", "age": 28})
验证保存的文件
可以使用以下代码验证文件是否正确保存:
import json
with open('data.json', 'r', encoding='utf-8') as f:
loaded_data = json.load(f)
print("数据加载成功:", loaded_data)
print("姓名:", loaded_data["name"])
print("第一个爱好:", loaded_data["hobbies"][0])
以上就是 Python 将数据保存到本地 JSON 文件的完整方法,使用简单且兼容性好,是处理结构化数据的常用方式。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
更多推荐


所有评论(0)