初始化Eve时,您可以指定自定义的json编码器,就像文档here中指定的那样,您可以进行如下操作:
from eve.io.base import BaseJSONEncoder
class CustomJSONEncoder(BaseJSONEncoder):
...
app = Eve(settings=settings, json_encoder=CustomJSONEncoder)
我期望的是,内部结果是:
flask.json_encoder == CustomJSONEncoder
但是我在flaskapp Eve code中发现的是:
self.data.json_encoder_class = CustomJSONEncoder
,稍后可以通过app.data.json_encoder_class
访问。这导致如果您使用依赖于编码器的任何flask附加组件,您将没有期望的自定义编码。
直接的解决方案可能是:
app = Eve(settings=settings, json_encoder=CustomJSONEncoder)
app.json_encoder = CustomJSONEncoder
但我不知道:
data.json_encoder_class
以外的东西吗?