python - 使用 Python 自定义 json 序列化/反序列化
问题描述
我正在尝试找出使用 python3 中的 json 模块为用户定义的类实现自定义序列化的最佳方法。似乎有三种方法可以做到这一点:
json.dump(默认=custom_serializer_function)
json.load(object_hook=custom_deserializer_function)
子类 json.JSONEncoder 并覆盖 default() 方法
子类 json.JSONDecoder 并设置 object_hook
2a) json.dump(cls=my_encoder_subclass), json.load(cls=my_decoder_subclass)
2b) my_subclass.encode(obj), my_decoder_subclass.decode(s)
json.JSONEncoder(default=custom_serializer_function).encode(obj)
json.JSONDecoder(object_hook=cusom_deserializer_function).decode(s)
这三种方法之间有什么真正的区别吗?在什么情况下哪种食谱更可取?
解决方案
推荐阅读
- java - 在cmd中运行maven项目
- git - Bitbucket Cloud `go get` 支持?
- javascript - 升级到 stripe.js 版本 3 后,我如何知道 3D Secure 2 身份验证有效
- javascript - SourceBuffer 函数在 appendBuffer 处失败并且不会附加 ArrayBuffer
- bash - XPATH 附加文本或新行
- string - 如何在不复制熊猫数据框中的列的情况下操作字符串?
- docusignapi - Docusign Basic API 是否支持 Oauth JWT 授权?
- typescript - Typescript 误解了导入的 JSON 文件的界面。你如何解决它?
- python-3.x - 在不超过速率限制的情况下分析 Twitter 朋友
- python - Django Rest Framework 获取方法