

Python 怎么实现类似 go 那种通过字段 tag 实现各种格式的序列化、反序列化、以及校验...
source link: https://www.v2ex.com/t/919061
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

比如下面的 Go 结构体:
type CompanyBase struct {
// ID id
ID int64 `json:"id" db:"id"`
// Name 名称
Name string `json:"name" db:"title"`
// Deleted 逻辑删除标志。0 为未删除。1 为已删除
Deleted bool `json:"deleted" db:"deleted"`
// CreateTime 创建时间
CreateTime time.Time `json:"create_time" db:"create_time"`
// UpdateTime 更新时间
UpdateTime time.Time `json:"update_time" db:"update_time"`
}
上面结构体字段 tag ,json 用于 json 序列化和反序列化,db 用于数据库序列化和反序列化。
还可以加别的标签,实现校验。这个例子没有。
当然,得有一个库,读取字段标签,执行序列化、反序列化、校验等功能。
另外,还得支持嵌套结构。
如果换了是 python ,怎么实现?
Recommend
-
60
Python - @1500176279 - 如题,花了一段时间学习基础语法,以及一些相关知识,现在想用更上一层楼!
-
43
我们常说的反序列化漏洞一般是指readObject()方法处触发的漏洞,而除此以外针对不同的序列化格式又会产生不同的出发点,比如说fastjson会自动运行setter,getter方法。之后又有各种RMI,JNDI姿势去执行命令。现在常见的黑盒检测Java反序列...
-
41
在Python的世界里,将一个对象以json格式进行序列化或反序列化一直是一个问题。Python标准库里面提供了json序列化的工具,我们可以简单的用 json.dumps 来将一个对象序列化。但是这种序列化仅支持python内置的基本类型。
-
36
-
6
可不可以在app或小程序中实现那种自己动的卡通 - OSCHINA - 中文开源技术交流社区 开源问答...
-
18
如何通过链下类似EstimateGas这样的方式验证链上的token是否为貔貅币或者燃烧币 | 登链社区 | 技术问答 如何通过链下类似EstimateGas这样的方式验证链上的token是否为貔貅币或者燃烧...
-
7
V2EX › Go 编程语言 go 怎么实现 方法前置操作 类似 PHP 的__call dzdh · 1 天前 · 1285 次点击
-
14
猫猫哥 博客园 ::
-
11
使用 Python 实现序列化 序列化是将对象转换为可存储或传输的格式的过程。在 Python 中,序列化可以...
-
6
V2EX › 问与答 有没有电助力自行车,类似共享电动车那种,有脚踏
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK