通过继承从 Python 类 创建 JSON
Create JSON from Python classes with inheritence
我正在尝试使用具有继承性的 python 类 重新创建以下 JSON :
{"attribute1": "c1"
"attribute2": {"attribute3" : "test"}
}
到目前为止我有这个代码:
class class1():
def __init__(self, attribute1):
self.attribute1 = attribute1
class class2(class1):
def __init__(self, attribute2):
class1.__init__(self, 'test')
self.attribute2 = attribute2
c1 = class1('c1')
c2 = class2(c1)
print(json.dumps(c1.__dict__))
呈现:
{"attribute1": "c1"}
如果我尝试将变量 c2
转换为 JSON:
print(json.dumps(c2.__dict__))
我收到错误:
TypeError: Object of type class1 is not JSON serializable
不应该 class1
是可序列化的,因为我之前使用 print(json.dumps(c1.__dict__))
转换它
Shouldn't class1 be serializable as I convert it previously using print(json.dumps(c1.dict))
这不是 JSON 的工作方式。它希望在每个级别找到一本字典。当你 运行, json.dumps(c2.__dict__)
时,你已经帮助它找到了 c2' 的字典,但你还没有告诉它如何找到 [=19] 的字典=]c1。它不会记住你之前对 json.dumps(c1.__dict__)
的调用
I'm attempting to recreate the following JSON using python classes with inheritance
这可能不会一帆风顺。嵌套 JSON 个模型 HAS-A relationships while inheritance models IS-A relationships.
我正在尝试使用具有继承性的 python 类 重新创建以下 JSON :
{"attribute1": "c1"
"attribute2": {"attribute3" : "test"}
}
到目前为止我有这个代码:
class class1():
def __init__(self, attribute1):
self.attribute1 = attribute1
class class2(class1):
def __init__(self, attribute2):
class1.__init__(self, 'test')
self.attribute2 = attribute2
c1 = class1('c1')
c2 = class2(c1)
print(json.dumps(c1.__dict__))
呈现:
{"attribute1": "c1"}
如果我尝试将变量 c2
转换为 JSON:
print(json.dumps(c2.__dict__))
我收到错误:
TypeError: Object of type class1 is not JSON serializable
不应该 class1
是可序列化的,因为我之前使用 print(json.dumps(c1.__dict__))
Shouldn't class1 be serializable as I convert it previously using print(json.dumps(c1.dict))
这不是 JSON 的工作方式。它希望在每个级别找到一本字典。当你 运行, json.dumps(c2.__dict__)
时,你已经帮助它找到了 c2' 的字典,但你还没有告诉它如何找到 [=19] 的字典=]c1。它不会记住你之前对 json.dumps(c1.__dict__)
I'm attempting to recreate the following JSON using python classes with inheritance
这可能不会一帆风顺。嵌套 JSON 个模型 HAS-A relationships while inheritance models IS-A relationships.