1
だから私は、次のオブジェクトがあります。Pythonの:JSONにオブジェクトをシリアル化
import os
import sys
import json
class ComplexEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, P):
return json.dumps(obj.__dict__)
# Let the base class default method raise the TypeError
return json.JSONEncoder.default(self, obj)
class P(object):
def __init__(self):
self.name = "Unknown"
self.id = 1
self.lst = []
def showName(self):
print(self.name)
for item in self.lst:
item.showName()
def add(self, p):
self.lst.append(p)
def serialize(self):
return json.dumps(self, cls=ComplexEncoder)
class PFirst(P):
def __init__(self):
P.__init__(self)
self.name = "First"
self.id = 2
p1 = PFirst()
p1.showName()
p = P()
p.add(p1)
p.showName()
print(p.serialize())
私はオブジェクトp
の属性をreprezents JSONを作りたいが、私は、次のエラーが表示さ:
TypeError: <__main__.PFirst object at 0x000002AA287F1438> is not JSON serializable
を誰か助けてくれますか?
をはい、それは動作します。どうもありがとうございました –