为什么PythonEve不重写JSON编码

2024-04-25 03:31:23 发布

您现在位置:Python中文网/ 问答频道 /正文

初始化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附加组件,您将无法获得预期的自定义编码。你知道吗

straighforward溶液可以是:

app = Eve(settings=settings, json_encoder=CustomJSONEncoder)
app.json_encoder = CustomJSONEncoder

但我想知道:

  • 为什么夏娃不自己做?你知道吗
  • 有什么理由避免更改Flask的默认JSON编码器吗?你知道吗
  • 伊芙会做些额外的东西吗?你知道吗
  • 是否应该对此进行记录?你知道吗

Tags: from文档jsonappflaskencoderdatahere