在 Python 中,load
和 loads
是用于处理 JSON 数据的两个函数,分别用于从文件和字符串中加载 JSON 数据。它们都属于 json
模块。以下是详细的说明和示例:
json.load
json.load
用于从一个文件对象中读取 JSON 数据并将其解析为一个 Python 对象。
示例
假设我们有一个包含 JSON 数据的文件 data.json
,内容如下:
{ "name": "John", "age": 30, "city": "New York" }
可以使用 json.load
来读取这个文件:
import json # 打开文件并读取 JSON 数据 with open('data.json', 'r') as file: data = json.load(file) print(data) # 输出: {'name': 'John', 'age': 30, 'city': 'New York'}
json.loads
json.loads
用于从一个字符串中解析 JSON 数据并将其转换为一个 Python 对象。
示例
假设我们有一个 JSON 格式的字符串:
import json json_string = '{"name": "John", "age": 30, "city": "New York"}' # 将 JSON 字符串解析为 Python 对象 data = json.loads(json_string) print(data) # 输出: {'name': 'John', 'age': 30, 'city': 'New York'}
区别
json.load
: 从文件对象中读取 JSON 数据。json.loads
: 从字符串中读取 JSON 数据。
其他相关函数
json.dump
: 将 Python 对象转换为 JSON 格式,并将其写入文件。json.dumps
: 将 Python 对象转换为 JSON 格式的字符串。
import json data = { "name": "John", "age": 30, "city": "New York" } # 将 Python 对象写入 JSON 文件 with open('output.json', 'w') as file: json.dump(data, file)
json.dumps
示例
import json data = { "name": "John", "age": 30, "city": "New York" } # 将 Python 对象转换为 JSON 字符串 json_string = json.dumps(data) print(json_string) # 输出: '{"name": "John", "age": 30, "city": "New York"}'
总结起来,json.load
和 json.loads
都是用于将 JSON 数据解析为 Python 对象的函数,区别在于前者是从文件读取,后者是从字符串读取。