python处理json数据的核心方法包括:1. 使用json.dumps()将python对象转为json字符串,可设置indent参数美化输出;2. 用json.loads()将json字符串还原为python对象,需注意格式合法性;3. 利用json.dump()和json.load()实现文件读写,需正确打开文件模式;4. 自定义default函数和object_hook函数处理复杂类型如自定义类。这些方法覆盖了json操作的常见需求,实际使用时需注意异常处理和格式验证。

处理JSON数据在Python中非常常见,尤其是在与API交互、读写配置文件或进行前后端数据传递时。Python内置了json模块,专门用来处理JSON格式的数据。下面从实际使用角度出发,分几个关键点讲清楚怎么用。

这是最常见的“编码”操作,比如你有一个字典或者列表,想把它变成字符串传给前端或者保存到文件里。
json.dumps(data, indent=2)indent参数是美化输出的缩进空格数,调试时很有用。举个例子:
立即学习“Python免费学习笔记(深入)”;

import json
data = {
"name": "Alice",
"age": 30,
"is_student": False
}
json_str = json.dumps(data, indent=2)
print(json_str)注意:
True/False会被转成JSON的true/false
None会被转成null
这个操作叫“解码”,适用于你收到一段JSON字符串(比如从网络请求中获取),想把它还原成Python里的字典或列表来操作。

json.loads(json_string)
示例:
json_str = '{"name": "Bob", "age": 25, "is_student": true}'
data = json.loads(json_str)
print(data["name"]) # 输出 Bob常见问题:
除了处理字符串,更多时候你会直接和文件打交道。
with open("data.json", "w") as f:
json.dump(data, f, indent=2)with open("data.json", "r") as f:
data = json.load(f)注意事项:
w,读用r)open("xxx.json", "r")会报错,建议配合os.path.exists()检查默认情况下,json.dumps()只能处理基本类型(dict、list、str、int等)。如果你有自定义类或者特殊结构,就需要自己处理。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def default(o):
if isinstance(o, Person):
return o.__dict__
raise TypeError()
p = Person("Tom", 28)
json_str = json.dumps(p, default=default)def object_hook(d):
if 'name' in d and 'age' in d:
return Person(d['name'], d['age'])
return d
data = json.loads(json_str, object_hook=object_hook)这种方式适合封装到工具函数里复用,避免每次都要写重复代码。
基本上就这些。只要掌握了这几个核心函数,就能应对大多数JSON处理场景了。记住,虽然功能简单,但格式错误和类型不匹配是常见坑点,处理前最好加一层判断或异常捕获。
以上就是如何使用Python处理JSON数据?编码解码方法详解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号