目录

常用功能

主要函数和方法

1. json.dumps()

2. json.loads()

3. json.dump()

4. json.load()

参数说明


json 模块是 Python 标准库中用于处理 JSON 数据的模块。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于数据传输和存储。json 模块提供了将 Python 对象转换为 JSON 格式(序列化)和将 JSON 格式的数据转换回 Python 对象(反序列化)的方法。

常用功能

  1. 序列化(将 Python 对象转换为 JSON 字符串)
  2. 反序列化(将 JSON 字符串转换为 Python 对象)
  3. 处理 JSON 文件

主要函数和方法

1. json.dumps()

将 Python 对象转换为 JSON 字符串(序列化)。

import json

# Python 对象
data = {
    "name": "Alice",
    "age": 30,
    "is_student": False,
    "courses": ["Math", "Science"]
}

# 序列化
json_str = json.dumps(data)
print(json_str)

输出:

{"name": "Alice", "age": 30, "is_student": false, "courses": ["Math", "Science"]}

2. json.loads()

将 JSON 字符串转换为 Python 对象(反序列化)。

import json

# JSON 字符串
json_str = '{"name": "Alice", "age": 30, "is_student": false, "courses": ["Math", "Science"]}'

# 反序列化
data = json.loads(json_str)
print(data)

输出:

{'name': 'Alice', 'age': 30, 'is_student': False, 'courses': ['Math', 'Science']}

3. json.dump()

将 Python 对象转换为 JSON 格式,并直接写入文件。

import json

# Python 对象
data = {
    "name": "Alice",
    "age": 30,
    "is_student": False,
    "courses": ["Math", "Science"]
}

# 写入 JSON 文件
with open('data.json', 'w') as f:
    json.dump(data, f)

4. json.load()

从文件读取 JSON 数据,并将其转换为 Python 对象。

import json

# 从 JSON 文件读取数据
with open('data.json', 'r') as f:
    data = json.load(f)
    print(data)

 

参数说明

  • json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False)

    • obj:要序列化的 Python 对象。
    • indent:指定缩进级别,使输出的 JSON 字符串更具可读性。
    • separators:控制分隔符,默认是 (', ', ': ')
    • default:指定如何处理非 JSON 可序列化的对象,如自定义类型。
  • json.loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=OrderedDict)

    • s:要反序列化的 JSON 字符串。
    • object_hook:指定如何将 JSON 对象转换为 Python 对象。
    • parse_floatparse_intparse_constant:自定义解析浮点数、整数和常量的函数。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部