【文件解析】json.load(fp)

发布于:2025-07-02 ⋅ 阅读:(51) ⋅ 点赞:(0)

json.load(fp)

json.load() 是 Python 中 json 模块的一个函数,用于将 JSON 格式的文件内容解析为 Python 对象。

语法

json.load(fp)

参数

  • fp :文件对象,必须是一个支持 .read() 方法的文件对象,通常由 open() 函数以文本模式("r")或二进制模式("rb")打开。文件中应包含有效的 JSON 数据。

返回值

返回从 JSON 数据解析得到的 Python 对象。JSON 数据类型与 Python 数据类型的对应关系如下:

JSON 数据类型 Python 数据类型
object dict
array list
string str
number (int) int
number (real) float
true True
false False
null None

示例代码

import json

# 打开并读取 JSON 文件
with open("data.json", "r") as f:
    data = json.load(f)

print(data)
print(type(data))

假设 data.json 文件内容如下:

{
    "name": "John",
    "age": 30,
    "is_student": false,
    "hobbies": ["reading", "traveling", "gaming"],
    "scores": {
        "math": 95,
        "english": 85
    }
}

执行上述代码后,data 的值将为:

{
    'name': 'John',
    'age': 30,
    'is_student': False,
    'hobbies': ['reading', 'traveling', 'gaming'],
    'scores': {'math': 95, 'english': 85}
}

type(data) 的结果是 <class 'dict'>

常见用法

  • 读取配置文件 :如果配置是以 JSON 格式存储的,可以使用 json.load() 将其读取为 Python 字典,方便程序获取配置信息。
  • 处理 API 响应 :许多 API 会以 JSON 格式返回数据,可以将 API 响应内容保存到文件中,再用 json.load() 读取并解析。
  • 数据交换 :在不同系统或组件之间传递数据时,JSON 是一种通用的数据交换格式,json.load() 可以将接收到的 JSON 数据转换为 Python 可操作的对象。

注意事项

  • 文件有效性 :确保打开的文件存在且包含有效的 JSON 数据。如果文件中的 JSON 数据格式不正确,json.load() 会抛出 json.JSONDecodeError 异常,程序会中断执行。
  • 文件编码 :通常 JSON 文件使用 UTF-8 编码。在打开文件时,可以指定编码(如 open("data.json", "r", encoding="utf-8")),以避免因编码问题导致的读取错误。
  • 文件大小 :对于非常大的 JSON 文件,json.load() 会一次性将整个文件内容加载到内存中。如果文件过大,可能会导致内存不足。这种情况下,可以考虑使用 ijson 等支持流式解析的库来处理大文件。

网站公告

今日签到

点亮在社区的每一天
去签到