python json保存数据的方法

舞姬之光
发布: 2025-11-12 19:34:02
原创
541人浏览过
使用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也支持保存列表结构,适合存储多条记录。

WiseHome家政预约小程序
WiseHome家政预约小程序

家政服务平台系统包含家用电器安装清洗、搬家、家电维修、管道疏通、月嫂保姆、育儿陪护、上门开锁等多种服务项目,用户可以直接通过家政小程序咨询,在线预约服务类型,同时还设置有知识科普,给用户科普一些清洁保养小技巧,让用户能够足不出户就可以直接预约服务,方便又快捷。本项目使用微信小程序平台进行开发。使用腾讯专门的小程序云开发技术,云资源包含云函数,数据库,带宽,存储空间,定时器等,资源配额价格低廉,无需

WiseHome家政预约小程序 0
查看详情 WiseHome家政预约小程序

立即学习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号