json里encode和decode的区别是什么

2023-12-15 8:05:28网络知识悟空

在处理 JSON 数据时,encode()decode() 在 JSON 模块中具有特定的含义和功能:

    json.encode(obj):将 Python 对象(字典、列表等)编码为 JSON 格式的字符串。

      obj:要进行编码的 Python 对象。

    json.decode(json_string):将 JSON 格式的字符串解码为 Python 对象。

      json_string:要进行解码的 JSON 字符串。

简而言之,encode() 用于将 Python 对象编码为 JSON 字符串,而 decode() 用于将 JSON 字符串解码为 Python 对象。

下面是一个示例,展示了如何使用 encode()decode() 进行 JSON 编码和解码:

import json

# Python 对象转为 JSON 字符串
data = {
    "name": "John",
    "age": 30,
    "city": "New York"
}
json_string = json.dumps(data)
print(json_string)  # {"name": "John", "age": 30, "city": "New York"}

# JSON 字符串解码为 Python 对象
parsed_data = json.loads(json_string)
print(parsed_data)  # {'name': 'John', 'age': 30, 'city': 'New York'}

在上述示例中,首先使用 dumps() 将 Python 对象 data 编码为 JSON 字符串 json_string。然后,使用 loads() 将 JSON 字符串 json_string 解码为 Python 对象 parsed_data。最终,通过打印输出可以看到编码和解码操作的结果。

需要注意的是,encode()decode() 在 JSON 模块中的具体方法名是 dumps()loads()。这里的命名与一般的编码/解码函数有所不同,但它们的作用和功能相同。

发表评论: