【发布时间】:2021-10-06 15:42:29
【问题描述】:
根据一些运行时条件,我想序列化一个字段或不序列化一个字段。该条件适用于整个序列化,与字段的值本身无关。因此,如果我理解正确,我不能使用skip_serializing_if(),除非我使用某种全局状态,但这更像是一个常数,而不是一个“条件”。
例如,假设条件取决于请求文件的客户端。一些客户需要拥有该字段,而其他客户则不需要。
如果条件是序列化,即使字段的值为 None,也要这样做(即在输出 JSON 中显式创建具有 null 值的属性)。
实现这一目标的最简单、最干净的方法是什么?
【问题讨论】:
-
如何提供“全局”运行时条件?像执行时的参数?
-
您应该可以使用
skip_serializing_if。您只需忽略参数值并访问您的运行时条件(如文件、全局变量)。 -
我更新了我的问题并添加了一个示例。