python json保存数据的方法

舞姬之光
发布: 2025-11-12 19:34:02
原创
417人浏览过
使用json模块可将Python对象保存为JSON文件,常用方法是json.dump()直接写入文件,支持中文需设ensure_ascii=False并指定UTF-8编码,indent用于格式化输出;也可用json.dumps()先转字符串再写入,适用于需预处理场景;列表结构可直接保存,如批量数据;注意不支持自定义对象、set、datetime等类型,需转换为字典或使用default参数处理,写入时"w"模式会覆盖原文件。

python json保存数据的方法

在Python中保存数据为JSON格式,主要使用内置的json模块。它能将Python对象(如字典、列表)转换成JSON字符串,并写入文件。以下是常用方法和注意事项。

1. 使用 json.dump() 直接保存到文件

这是最常见的方式,适合将数据直接写入文件。

示例:

import json
<p>data = {
"name": "Alice",
"age": 25,
"is_student": False,
"hobbies": ["reading", "coding"]
}</p><h1>写入JSON文件</h1><p>with open("data.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=4)
登录后复制

说明:
  • ensure_ascii=False:支持中文等非ASCII字符
  • indent=4:美化输出,使用4个空格缩进
  • 文件以UTF-8编码打开,避免中文乱码

2. 先转字符串再保存(使用 json.dumps)

当你需要先处理JSON字符串时可用此方法。

示例:

import json
<p>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字符串做额外处理(如添加注释、拼接)
  • 调试时查看生成的字符串内容

3. 保存列表或批量数据

JSON也支持保存列表结构,适合存储多条记录。

Find JSON Path Online
Find JSON Path Online

Easily find JSON paths within JSON objects using our intuitive Json Path Finder

Find JSON Path Online 30
查看详情 Find JSON Path Online

立即学习Python免费学习笔记(深入)”;

示例:

users = [
    {"id": 1, "name": "Alice"},
    {"id": 2, "name": "Bob"}
]
<p>with open("users.json", "w", encoding="utf-8") as f:
json.dump(users, f, ensure_ascii=False, indent=2)
登录后复制

4. 注意事项

避免常见错误,确保数据正确保存。

  • 不能直接保存自定义对象(如类实例),需先转为字典
  • 不支持的数据类型(如set、datetime)会报错,可配合default参数处理
  • 写文件时使用"w"模式会覆盖原内容,追加需先读再写

基本上就这些。掌握 json.dump 和合理设置参数,就能稳定保存数据。

以上就是python json保存数据的方法的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号