12 2024 档案
摘要:发现之前修改源码后, 虽然过滤掉对象的私有成员, 但是反序列化的时候, 发现生成的对象只有只有公有成员, 不包括私有成员. 这不是我想要的, 因为没有私有成员, 对象就不完整了, 并且有时候还需要一些私有成员的默认值. 所以, 还需要再优化一下. 修改unpickler.py文件的def _rest
阅读全文
摘要:在前一篇文章中, 通过修改源码来实现对象的私有成员不被序列化的功能. 但是不够灵活, 于是我又修改了一版, 能够自定义过滤函数. 实现起来不是很难, 要点如下: # pickler.py的_flatten_obj_instance函数 self._current_obj = obj # 记录正在处理
阅读全文
摘要:问题及解决方案 jsonpickle是比较常用的序列化模块, 其特点是对于复杂的对象基本上都能够很好的序列化, 适用范围比较广. 有时候我们有需求, 希望私有变量能够不被序列化, 但是使用jsonpickle的自定义定制机制实现起来不太方便, 可以采用如下的方式: class NoSerailPri
阅读全文