我有一个属性类:
from child_props import ChildProps
class ParentProps(object):
"""Contains all the attributes for CreateOrderRequest"""
def __init__(self):
self.__prop1 = None
self.__child_props = ChildProps()
@property
def prop1(self):
return self.__prop1
@prop1.setter
def prop1(self, value):
self.__prop1 = value
@property
def child_props(self):
return self.__child_props
@child_props.setter
def child_props(self, value):
self.__child_props = value
另一个类是:
class ChildProps(object):
"""Contains all the attributes for CreateOrderRequest"""
def __init__(self):
self.__child_prop1 = None
self.__child_prop2 = None
@property
def child_prop1(self):
return self.__child_prop1
@child_prop1.setter
def child_prop1(self, value):
self.__child_prop1 = value
@property
def child_prop2(self):
return self.__child_prop2
@child_prop2.setter
def child_prop2(self, value):
self.__child_prop2 = value
在 main.py
parent_props = ParentProps()
parent_props.prop1 = "Mark"
child_props = ChildProps()
child_props.child_prop1 = 'foo'
child_props.child_prop2 = 'bar'
parent_props.child_props = child_props
如何将 parent_props 序列化为 json 字符串,如下所示:
{
"prop1" : "Mark",
"child_props" : {
"child_prop1" : "foo",
"child_prop2" : "bar"
}
}
PS:json.dumps 只能序列化原生 python 数据类型。pickle 模块只对字节进行对象序列化。
就像我们在dotnet中有NewtonSoft,在java中有jackson,Python中用于序列化getter setter属性类对象的等效序列化器是什么。
我在谷歌搜索了很多,但没有得到太多帮助。任何领先都会非常明显。谢谢