如何使用Python的json.load()函数将JSON文件内容转换成字典?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1026个文字,预计阅读时间需要5分钟。
许多人在直接将路径字符串传递给 `json.load()` 时遇到错误。这是因为 `json.load()` 需要一个文件对象,而不是一个字符串。要解决这个问题,应该使用 `json.loads()` 函数,它接受一个字符串作为输入。下面是正确的代码示例:
json.load() 的作用是从「已打开的文件对象」里解析 JSON;json.loads() 才是解析字符串。所以得先用 open() 打开文件,再把文件对象传进去。
- 正确写法:
with open("data.json", "r", encoding="utf-8") as f: data = json.load(f)
- 错误写法:
json.load("data.json")(会报错) - 如果已经拿到 JSON 字符串(比如从网络请求来),才用
json.loads(my_str) - 记得加
encoding="utf-8",否则中文可能乱码(尤其 Windows 默认用 GBK)
文件不存在或格式错误时,json.load() 会直接抛异常
不是返回 None 或空字典,而是抛出 FileNotFoundError 或 json.JSONDecodeError。不捕获的话程序就崩了。
本文共计1026个文字,预计阅读时间需要5分钟。
许多人在直接将路径字符串传递给 `json.load()` 时遇到错误。这是因为 `json.load()` 需要一个文件对象,而不是一个字符串。要解决这个问题,应该使用 `json.loads()` 函数,它接受一个字符串作为输入。下面是正确的代码示例:
json.load() 的作用是从「已打开的文件对象」里解析 JSON;json.loads() 才是解析字符串。所以得先用 open() 打开文件,再把文件对象传进去。
- 正确写法:
with open("data.json", "r", encoding="utf-8") as f: data = json.load(f)
- 错误写法:
json.load("data.json")(会报错) - 如果已经拿到 JSON 字符串(比如从网络请求来),才用
json.loads(my_str) - 记得加
encoding="utf-8",否则中文可能乱码(尤其 Windows 默认用 GBK)
文件不存在或格式错误时,json.load() 会直接抛异常
不是返回 None 或空字典,而是抛出 FileNotFoundError 或 json.JSONDecodeError。不捕获的话程序就崩了。

