在flask中,框架会自动将字符串等类型转化为字节,但是在我们直接运行自定义类的时候,flask无法自动将其转换成为字节,所以要先将其转化为JSON格式,故会引发如下报错。
TypeError: Object of type User is not JSON serializable
此时我们则需要引入flask中的JSONEncoder即可解决
import flask.json import JSONEncoder #默认不支持自定义对象变成JSON格式
然后自定义一个JSONEncoder
class MyJSONEncoder(JSONEncoder):
def default(self,obj):
if isinstance(obj,类名):
return{
'a':obj.a
'b':obj.b
}
else: #其他类型数据依旧使用默认处理
JSONEncoder.default(obj)
还要设置当前的jsonencoder
app.json_encoder=MyJSONEncoder
最后再terminal,结果正常