当前位置: 代码网 > it编程>前端脚本>Python > Python中实现JSON数据读写的编程实战指南

Python中实现JSON数据读写的编程实战指南

2025年11月06日 Python 我要评论
在现代编程中 数据交换是不可或缺的一部分,无论是 web 开发、接口通信、还是配置文件存储 json 格式都是应用最广泛的数据格式之一,python 对 json 的支持非常完善,通过内置模块 jso

在现代编程中 数据交换是不可或缺的一部分,无论是 web 开发、接口通信、还是配置文件存储 json 格式都是应用最广泛的数据格式之一,python 对 json 的支持非常完善,通过内置模块 json 就能轻松实现数据的序列化与反序列化。

本文将带你深入理解 json 的概念以及在 python 中的读写操作方法

一 什么是 json

json 全称是 javascript object notation,即 javascript 对象表示法,它是一种轻量级的数据交换格式,具有以下特点

  • 使用键值对存储数据 类似于 python 的字典
  • 结构清晰 可嵌套
  • 支持多种基本数据类型
  • 语言无关 可跨平台

一个典型的 json 示例

{
  "name": "alice",
  "age": 25,
  "is_student": false,
  "skills": ["python", "java", "sql"]
}

在 python 中 这种结构与字典类型非常相似 因此二者可以轻松互转

二 json 与 python 数据类型对应关系

json 类型python 类型
objectdict
arraylist
stringstr
numberint 或 float
truetrue
falsefalse
nullnone

这种对应关系让 json 数据与 python 数据结构之间的转换非常自然

三 python json 模块常用方法

python 内置的 json 模块提供了四个核心方法

方法作用
json.dumps()将 python 对象转换为 json 字符串
json.loads()将 json 字符串解析为 python 对象
json.dump()将 python 对象写入 json 文件
json.load()从 json 文件读取并转换为 python 对象

四 python 对象转 json 字符串

import json

data = {
    "name": "alice",
    "age": 25,
    "skills": ["python", "data analysis"]
}

json_str = json.dumps(data, ensure_ascii=false, indent=4)
print(json_str)

输出结果

{
    "name": "alice",
    "age": 25,
    "skills": [
        "python",
        "data analysis"
    ]
}

参数说明

  • ensure_ascii=false:防止中文被转义
  • indent=4:设置缩进格式 让输出更易读

五 json 字符串转 python 对象

import json

json_str = '{"name": "alice", "age": 25, "skills": ["python", "data analysis"]}'
data = json.loads(json_str)
print(data["name"])

输出

alice

六 写入 json 文件

将数据保存到文件非常常见 例如保存配置或用户信息

import json

user = {
    "id": 1001,
    "name": "bob",
    "vip": true,
    "balance": 99.8
}

with open("user.json", "w", encoding="utf-8") as f:
    json.dump(user, f, ensure_ascii=false, indent=4)

print("json 文件写入完成")

执行后 你将在当前目录生成一个名为 user.json 的文件

七 从文件中读取 json 数据

import json

with open("user.json", "r", encoding="utf-8") as f:
    user_info = json.load(f)

print(user_info)
print(type(user_info))

输出

{'id': 1001, 'name': 'bob', 'vip': true, 'balance': 99.8}
<class 'dict'>

说明从文件中读取的 json 已成功转换为 python 字典对象

八 实战 案例 读取配置文件并修改

假设我们有一个配置文件 config.json

{
  "version": "1.0",
  "debug": true,
  "users": ["admin", "guest"]
}

我们想读取其中内容 并更新某些字段

import json

# 读取配置
with open("config.json", "r", encoding="utf-8") as f:
    config = json.load(f)

# 修改参数
config["debug"] = false
config["users"].append("developer")

# 保存回文件
with open("config.json", "w", encoding="utf-8") as f:
    json.dump(config, f, ensure_ascii=false, indent=4)

print("配置文件已更新")

九 异常处理与健壮性

在处理 json 文件时 可能会遇到文件缺失或格式错误 可以使用 try...except 捕获异常

import json

try:
    with open("data.json", "r", encoding="utf-8") as f:
        data = json.load(f)
except filenotfounderror:
    print("文件未找到")
except json.jsondecodeerror:
    print("json 格式错误")
else:
    print("读取成功")

十 小结

json 是 python 与外部世界交互的桥梁 无论是 api 通信 还是数据存储 json 都是最常见也最重要的数据格式之一

学习要点

  • 使用 json.dumps()json.loads() 实现内存中数据的转换
  • 使用 json.dump()json.load() 操作文件
  • 养成使用 with open() 的好习惯
  • 处理异常 提高代码健壮性

掌握 json 数据读写后 你已经具备处理各种接口数据与配置文件的能力 这将在实际项目中为你带来巨大的便利

到此这篇关于python中实现json数据读写的编程实战指南的文章就介绍到这了,更多相关python json数据读写内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com