pydantic的序列化和反序列化

序列化

什么玩意叫做序列号呢。

我有一个python对象,对不对。

这个玩意呢,是在内存当中的。

我没法给杨太岁,可是呢,我想要给杨太岁

我就要把这个python对象从内存里头呢拿出来,变成字典或者JSON或者二进制

这个玩意呢,就是叫做序列化

反序列化

杨太岁呢,他接收到了我给他的玩意。

他没法用python操作呀。

他需要先将接收到的二进制或者JSON呢,变成是python对象。

这个过程呢,就是叫做反序列化

pydantic的序列化

  • emp.model_dump():这个不用说,将python对象转换成为字典;
  • emp.model_dump_json():这个不用说,将python对象转换成为JSON。

pydantic的反序列化

new_emp = Employee(**dict_data)

你看这个玩意,牛逼不?

这就是直接把字典解包创建对象

json_str = '{"name": "alice smith", "age": 30, "contact": "alice@company.com"}'
new_emp = Employee.model_validate_json(json_str)

你看这个玩意,牛逼不?

这是使用model_validate_json方法将json反序列化成为python对象。

反序列化的时候,会偷偷干两件事情:一是数据校验,二是类型转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值