如何替换 Zeep 的默认布尔序列化程序?
How can I replace Zeep's default boolean serializer?
当我序列化一个布尔值 Zeep returns "true"
/"false"
(根据 xsd.types.Boolean
class)。
我想将其更改为 return "1"
/"0"
因为我正在使用的 API 只接受这些值。
如何替换默认的布尔序列化程序?
我最终用猴子修补了 xmlvalue
函数。
class MyBoolean(Boolean):
@check_no_collection
def xmlvalue(self, value):
return "1" if value and value not in ("false", "0") else "0"
Boolean.xmlvalue = MyBoolean.xmlvalue
当我序列化一个布尔值 Zeep returns "true"
/"false"
(根据 xsd.types.Boolean
class)。
我想将其更改为 return "1"
/"0"
因为我正在使用的 API 只接受这些值。
如何替换默认的布尔序列化程序?
我最终用猴子修补了 xmlvalue
函数。
class MyBoolean(Boolean):
@check_no_collection
def xmlvalue(self, value):
return "1" if value and value not in ("false", "0") else "0"
Boolean.xmlvalue = MyBoolean.xmlvalue