load和loads的区别

在 Python 中,loadloads 是用于处理 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.loadjson.loads 都是用于将 JSON 数据解析为 Python 对象的函数,区别在于前者是从文件读取,后者是从字符串读取。

posted @ 2024-06-12 16:42  JJJhr  阅读(19)  评论(0编辑  收藏  举报