class MyObject:
# ...
# MyObject has 3 properties: name (a string), number (an int), and parent (a MyObject)
@staticmethod
def serialize(obj):
return {
"name": obj.name,
"number": obj.number,
"parent": obj.parent
}
# ...
simplejson.dumps(myObjInstance, default=MyObject.serialize)
正确答案
为了使您的
MyObject
可序列化,您需要实现一个可以在dumps
上引用的方法。例如:很酷的是
dumps
将像其他JSON可序列化对象一样,递归地调用序列化方法。也就是说,obj.parent
也将被序列化,而无需您采取任何进一步的操作。高尔夫版
如果只想将实例变量名1-1映射到它们各自的值,可以使用一些内置的Python魔术。每当您想序列化一个更复杂的对象(同样,只使用1-1变量值映射),只要调用这一行:
对于给定的
MyObject
实例,它的行为与前面提到的serialize
方法相同。相关问题 更多 >
编程相关推荐