我目前有以下情况:
class MainError:
def __init__(self, code, message, errorsList):
self.code = code
self.message = message
# List of Error objects
self.errorsList = errorsList
def serialize(self):
return {
'mainErrorCode': self.code,
'message': self.message,
'errors': self.errorsList
}
class Error:
def __init__(self, field, message):
self.field = field
self.message = message
所以我想以以下格式返回JSON
:
当前我收到错误:
TypeError: <errors.Error instance at 0x329b908> is not JSON serializable
我正在使用Flask's
Jsonify
。在
return jsonify(errors=mainError.serialize())
我猜是list
引起了这个问题。有人能帮我解决这个问题吗?在
PS:在我的方法中可能还有其他一些明显的错误(我对Python=/还很陌生)
更新的解决方案
def serialize(self):
return {
'mainErrorCode': self.code,
'message': self.message,
'errors': [error.serialize() for error in self.errorsList]
}
class Error:
def __init__(self, field, message):
self.field = field
self.message = message
def serialize(self):
return {
'field': self.field,
'message': self.message
}
如错误所示,您有一个不可序列化的
Error
对象列表。所以让它们可以序列化:相关问题 更多 >
编程相关推荐