使用Pydantic将Python对象序列化为JSON或其他格式,或将JSON或其他格式的数据反序列化为Python对象
环境准备:
1. 安装Python3和pip包管理工具。
2. 创建并激活一个虚拟环境(可选)。
类库依赖:
1. Pydantic:一个用于数据验证和解析的Python库。
安装Pydantic:
使用以下命令安装Pydantic:
pip install pydantic
数据样例:
假设我们有一个"Person"类,包含两个属性,分别是"name"和"age"。
python
from pydantic import BaseModel
class Person(BaseModel):
name: str
age: int
完整样例代码:
python
from pydantic import BaseModel
import json
# 定义一个Person类继承自BaseModel
class Person(BaseModel):
name: str
age: int
# 实例化Person对象
person = Person(name="John", age=30)
# 将Python对象序列化为JSON
json_data = person.json()
print(json_data) # 输出: {"name": "John", "age": 30}
# 将JSON数据反序列化为Python对象
json_str = '{"name": "Alice", "age": 25}'
person_from_json = Person.parse_raw(json_str)
print(person_from_json) # 输出: Person(name='Alice', age=25)
总结:
Pydantic是一个功能强大的库,可用于数据验证和解析。它使用Python的类型提示和注释来定义数据模型,并提供了简单易用的方法用于序列化和反序列化Python对象。使用Pydantic可以简化数据的验证和转换过程,提高开发效率。