0
我编写了一个jackson模块来启用特定类型的序列化。现在我想启用一个新的序列化器的全局配置。所以我必须在创建期间在序列化器实例上设置属性。我如何影响带注释的串行器的实例创建
有没有一种方法可以在杰克逊模块内做到这一点?
我编写了一个jackson模块来启用特定类型的序列化。现在我想启用一个新的序列化器的全局配置。所以我必须在创建期间在序列化器实例上设置属性。我如何影响带注释的串行器的实例创建
有没有一种方法可以在杰克逊模块内做到这一点?
模块接口是无状态的,只是一件事,所以它没有默认接线来影响它添加的东西。
但是你可以做的是使用解决方法;可能性包括:
ThreadLocal
;在串行化之前设置,从串行器读取ObjectWriter.setAttribute()
)和阅读(ObjectReader.setAttribute()
),通过串行器/解串器通过上下文对象(SerializerProvider
/DeserializationContext
)所以希望这些作品为您的使用案例之一进行访问。
你能详细阐述一下你正在尝试做什么吗? – StaxMan
我的序列化程序'FubarSerializer'处理所有'Fubar'实例。它可以用两种方式(A和B)序列化这些实例。我有一堆这些串行器包装成一个模块。我想配置他们是否在模块上使用A或B全局setter。 – Laures