zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python序列化-json

PythonJSONJSON 序列化
2023-06-13 09:18:42 时间

Python 序列化是将 Python 对象转换为可以存储或传输的格式,如 JSON 或二进制格式。

JSON 概述

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写。它基于 JavaScript 语言的语法,但是可以被其他编程语言使用。JSON 通常用于将数据从一个应用程序发送到另一个应用程序。

JSON 与 Python 中的字典和列表具有相似的结构。它由键值对组成,并且值可以是另一个 JSON 对象、列表、字符串、数字、布尔值或 null。以下是一个简单的 JSON 示例:

{
  "name": "Alice",
  "age": 30,
  "is_student": true,
  "hobbies": [
    "reading",
    "coding",
    "travelling"
  ],
  "address": {
    "city": "New York",
    "state": "NY"
  }
}

Python 的 JSON 模块

Python 的 JSON 模块提供了将 Python 对象序列化为 JSON 格式的方法,以及将 JSON 格式转换回 Python 对象的方法。JSON 模块包含四个主要的函数:

  • json.dump():将 Python 对象写入文件中的 JSON 格式。
  • json.dumps():将 Python 对象转换为 JSON 格式的字符串。
  • json.load():将 JSON 格式的数据读取为 Python 对象。
  • json.loads():将 JSON 格式的字符串转换为 Python 对象。

以下是使用 JSON 模块进行序列化和反序列化的示例:

import json

# 将 Python 对象转换为 JSON 格式的字符串
data = {
    'name': 'Alice',
    'age': 30,
    'is_student': True,
    'hobbies': ['reading', 'coding', 'travelling'],
    'address': {
        'city': 'New York',
        'state': 'NY'
    }
}
json_string = json.dumps(data)
print(json_string)

# 将 JSON 格式的字符串转换为 Python 对象
data = json.loads(json_string)
print(data)

输出:

{"name": "Alice", "age": 30, "is_student": true, "hobbies": ["reading", "coding", "travelling"], "address": {"city": "New York", "state": "NY"}}
{'name': 'Alice', 'age': 30, 'is_student': True, 'hobbies': [