在Python中处理JSON数据主要依赖内置的json模块,它提供了完整的解析与生成能力,能够轻松在字符串和Python对象之间转换。无论是调用Web接口还是读写配置文件,掌握这套方法都很实用。

一、Python解析JSON数据
解析是指把JSON格式的字符串转为Python中的字典、列表等对象。最常用的是json.loads()函数,它接收字符串并返回对应的Python数据结构。
import json
# JSON字符串
json_str = '{"name": "张三", "age": 25, "skills": ["Python", "SQL"]}'
# 解析为Python字典
data = json.loads(json_str)
print(data['name']) # 输出:张三
print(data['skills']) # 输出:['Python', 'SQL']
如果JSON内容保存在文件中,可以使用json.load()直接从文件对象读取并解析。
import json
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
print(data)
二、Python生成JSON数据
生成是指把Python中的字典、列表等转为JSON字符串,常用json.dumps()方法。设置ensure_ascii为False可正确输出中文,indent参数能美化格式。
import json
info = {
"name": "李四",
"age": 30,
"is_student": False
}
# 生成JSON字符串,保留中文并缩进
json_out = json.dumps(info, ensure_ascii=False, indent=2)
print(json_out)
要将数据写入JSON文件,使用json.dump()即可。
import json
info = {"city": "北京", "code": 100000}
with open('out.json', 'w', encoding='utf-8') as f:
json.dump(info, f, ensure_ascii=False, indent=2)
常见数据类型对照
| JSON类型 | Python类型 |
|---|---|
| object | dict |
| array | list |
| string | str |
| number | int或float |
| true/false | True/False |
| null | None |
三、注意事项
- JSON的键必须是双引号字符串,Python字典的键可以是任意可哈希类型。
- 解析时注意捕获
json.JSONDecodeError异常,避免非法字符串导致程序中断。 - 时间对象等复杂类型不能直接序列化,需要自定义编码器或先转为字符串。
合理使用json模块,可让Python在前后端数据交互和配置管理中更加高效稳定。
PythonJSONjson_module修改时间:2026-07-26 20:15:10