工作学习中碰到了一个特殊类转json的问题,然后找到了这篇文章,蛮不错的。
你在这里是因为当您尝试编码定制Python对象成JSON格式,您收到一个类型错误:Object of type SampleClass is not JSON serializable
。在本文中,我将向您展示如何将任意Python对象序列化为JSON,以便您可以将任何自定义Python对象转换为JSON格式的数据。
Python的内置json模块只能处理具有直接JSON等效项的Python基本类型。即,根本的问题是JSON编码器json.dump()和 json.dumps() 仅知道默认情况下如何序列化基本对象类型集(例如,字典,列表,字符串,数字,None等)。
为了解决这个问题,我们需要构建一个自定义编码器以使我们的Class JSON可序列化。
有多种方法可以使Python类JSON可序列化。您可以选择最适合您的问题复杂性的一种。让我们一一理解。
本课程的目标:
- 编写自己的自定义JSON编码器以使JSON类可序列化
- 创建自定义
toJSON()
方法以使Python类JSON可序列化 - 使用jsonpickle 模块使JSON序列化
- 如何从继承类
dict
以使类JSON可序列化
因为没有获得翻译授权(还没回复我),也没找到可转载或翻译说明,所以抛砖引玉,具体内容请查看原文链接,英文蛮容易看懂的,也可以用插件进行全网页翻译即可。
原作者:
About Vishal
Founder of PYnative.com I am a Python developer and I love to write articles to help developers. Follow me on Twitter. All the best for your future Python endeavors!
英文原文链接:https://pynative.com/make-python-class-json-serializable/
感谢原作者的无私分享!