我想自动将一个Python类转换成一个字典,这样我就可以将它转换成JSON。问题How to make a class JSON serializable建议使用myClass.__dict__
,但是,使用它并不会将任何内部类变成JSON可序列化对象。你知道吗
下面的例子。。。你知道吗
class Thing():
def __init__(self, name):
self.name = name
self.children = [self.Thing2(self)]
class Thing2():
def __init__(self, parent):
self.name = parent.name + "'s child"
myThing = Thing("Clay")
print(myThing.__dict__)
产生结果。。。你知道吗
{'name': 'Clay', 'children': [<__main__.Thing.Thing2 object at 0x00000257C4358B00>]}
它仍然不是JSON可序列化的。如何将类和内部类转换为JSON可序列化对象?你知道吗
虽然
myClass.__dict__
对内部类不起作用,但只要知道哪些字段是对象,就可以定义自己的方法将类转换为字典。你知道吗下面的例子。。。你知道吗
产生结果。。。你知道吗
可以使用
json.dumps()
将其转换为JSON。你知道吗如果不知道类中哪些字段是JSON可序列化的,哪些是内部类,则可以迭代类的字典check if they are JSON serializable中的值,并根据需要将它们转换为字典(
value.__dict__
)。你知道吗相关问题 更多 >
编程相关推荐