import json class A: def __init__(self): self.a = 'A_a' self.b = 'A_b' class B: def __init__(self): self.a = A self.b = 'B_b' class C: def __init__(self): self.a = A self.b = B self.c = 'C_c' x = A() y = B() z = C() print(x.__dict__) print(y.__dict__) print(z.__dict__) print(json.dumps(z, default=lambda o:o.__dict__))
结果分别是:
{'a': 'A_a', 'b': 'A_b'}
{'a': <class '__main__.A'>, 'b': 'B_b'}
{'a': <class '__main__.A'>, 'b': <class '__main__.B'>, 'c': 'C_c'}最后的序列化报错:
AttributeError: 'mappingproxy' object has no attribute '__dict__'
7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程
了解课程