一文详细解释Python中JSON 的四个常用函数(json.dumps / json.loads / json.dump / json.load)附函数代码示例
json.dumps、json.loads、json.dump、json.load进行清晰、独立的代码示例,涵盖输入、输出以及典型应用场景。
1. json.dumps:Python 对象 → JSON 字符串(内存中)
import json
data = {
"name": "Alice",
"age": 30,
"tags": ["python", "ai"]
}
json_str = json.dumps(data, ensure_ascii=False, indent=2)
print("类型:", type(json_str)) # <class 'str'>
print("内容:")
print(json_str)
说明:\json.dumps 返回字符串,常用于日志打印、HTTP 请求 body、消息队列传输。
2. json.loads:JSON 字符串 → Python 对象(内存中)
import json
json_str = '{"name": "Bob", "age": 25, "skills": ["java", "linux"]}'
obj = json.loads(json_str)
print("类型:", type(obj)) # <class 'dict'>
print("内容:", obj)
print("访问字段:", obj["skills"][0]) # java
说明:\json.loads 是 dumps 的逆运算。
3. json.dump:Python 对象 → 写入 JSON 文件
import json
data = {
"product": "Laptop",
"price": 8999,
"in_stock": True
}
with open("product.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
print("写入完成")
说明:\json.dump 不返回字符串;它直接写文件,属于文件级序列化。
4. json.load:JSON 文件 → Python 对象
import json
with open("product.json", "r", encoding="utf-8") as f:
obj = json.load(f)
print("类型:", type(obj)) # <class 'dict'>
print("内容:", obj)
说明:\json.load 是 json.dump 的逆运算,用于文件读取解析。
四个函数的关系总结
| 函数 | 输入 | 输出 | 使用场景 |
|---|---|---|---|
dumps(obj) |
Python 对象 | JSON 字符串 | 网络传输、日志打印 |
loads(str) |
JSON 字符串 | Python 对象 | API 响应解析 |
dump(obj, fp) |
Python 对象 | 写入文件 | 保存 JSON 文件 |
load(fp) |
JSON 文件 | Python 对象 | 读取 JSON 配置或数据 |

浙公网安备 33010602011771号