我试图拥有一个体面的业务层,即服务器端。将每个新业务类存储在数据库中的工作量可能会减少。
但是,它不能很好地执行到 json 的转换。它适用于简单的 python 对象,使用json.dumps(self.__dict__)
. 但是一个简单的 python 对象列表并不能很好地序列化为 json。
当我尝试对列表执行 json 序列化时,return json.dumps([x.to_json() for x in self.my_list_items])
它会输出附加的双引号,并为列表中的每个项目输出 \":["{\"completed\": 0, \"id\": 1, \"name\": \"labelOne\"}", "{\"completed\": 0, \"id\": 2, \"name\": \"Label2\"}"]
这是我使用的代码:
class JSONizable(object):
def to_json(self):
return json.dumps(self.__dict__)
class Task(JSONizable):
def __init__(self):
self.id = -1
self.name = "new task"
self.completed = 1
def load_sql(self, sql):
#do things
class Tasks(JSONizable):
def __init__(self):
self.tasks=[]
def load_sql(self,sql):
#do things
def to_json(self):
return json.dumps([x.to_json() for x in self.tasks]) # things go bad here
当此类对象包含项目列表时,您能否建议一种更 Pythonic 的方式来为 python 对象执行 json 序列化?