在Python中,json.load()和json.loads()是两个用于处理JSON数据的方法,它们的主要区别在于输入数据的类型和返回值的类型。
json.load()
功能:json.load()方法用于从已打开的文件对象中读取JSON数据,并将其转换为Python对象(如字典或列表)。
输入:该方法接受一个文件对象作为输入,该文件对象应指向包含JSON数据的文件。
返回值:方法返回一个Python对象,该对象由文件中的JSON数据生成。
import json
with open('data.json', 'r') as f:
data = json.load(f)
print(data)
在这个例子中,json.load()方法从名为data.json的文件中读取JSON数据,并将其转换为Python对象。
json.loads()
功能:json.loads()方法用于将JSON格式的字符串解析为Python对象。
输入:该方法接受一个JSON格式的字符串作为输入。
返回值:方法返回一个对应的Python对象(如字典、列表、字符串、数字、布尔值等)。
import json
json_str = '{"name": "Alice", "age": 25}'
data = json.loads(json_str)
print(data)
在这个例子中,json.loads()方法将JSON格式的字符串json_str解析为Python对象,并赋值给变量data。
总结
json.load()用于从文件中读取JSON数据,而json.loads()用于从字符串中解析JSON数据。
在使用这两个方法时,需要确保输入数据的格式和内容是正确的,否则可能会引发异常。