Python读取JSON文件的实用方法
在日常开发中,经常会遇到需要处理配置文件或接口返回数据的情况。JSON 因其结构清晰、易读易写,成了最常用的数据交换格式之一。Python 自带的 json 模块让读取 JSON 文件变得非常简单。
假设你正在写一个爬虫项目,把请求头信息存到了 config.json 文件里,现在想用 Python 把它读出来直接使用。
基本读取步骤
使用内置的 json 模块配合 open() 函数就能完成读取。下面是一个常见场景:
import json
# 打开并读取 JSON 文件
with open('config.json', 'r', encoding='utf-8') as f:
data = json.load(f)
# 此时 data 是一个字典,可以直接使用
print(data['user_agent'])这里的 json.load() 用于从文件对象中加载 JSON 数据。注意指定编码为 utf-8,避免中文乱码问题。
处理不存在的文件或格式错误
实际运行中,文件可能被误删,或者编辑时不小心写错了 JSON 格式。这时候程序会抛出异常,最好加上异常处理:
import json
try:
with open('config.json', 'r', encoding='utf-8') as f:
data = json.load(f)
print('配置加载成功:', data)
except FileNotFoundError:
print('配置文件未找到,请检查路径')
except json.JSONDecodeError as e:
print(f'JSON 格式错误:{e}')这样即使出问题,程序也不会直接崩溃,还能提示具体原因。
读取字符串形式的 JSON
有时候数据不是来自文件,而是网络响应返回的一段 JSON 字符串。比如从 API 拿到的结果:
import json
response_text = '{"status": "ok", "count": 5, "items": ["a", "b"]}'
data = json.loads(response_text)
print(data['count']) # 输出 5这里用的是 json.loads()(注意末尾的 s),表示“load string”,专门处理字符串类型的 JSON 数据。
反过来,如果你要把字典保存成 JSON 文件,可以用 json.dump() 或 json.dumps(),不过那是另一个场景了。
掌握这些基础操作后,读取配置、解析接口数据都会变得轻松很多。下次看到 .json 结尾的文件,别犹豫,直接用 json.load() 打开看看。