多迈知识库
第二套高阶模板 · 更大气的阅读体验

Python读取JSON文件的实用方法

发布时间:2025-12-14 22:03:47 阅读:271 次

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() 打开看看。