如何影响带注释的序列化程序的实例创建

时间:2014-01-09 16:19:59

标签: jackson jackson-modules

我写了一个jackson模块来启用特定类型的序列化。现在我想启用其中一个新序列化程序的全局配置。所以我必须在创建过程中在序列化程序实例上设置属性。

有没有办法可以在杰克逊模块中做到这一点?

1 个答案:

答案 0 :(得分:0)

模块接口是无状态的,无关紧要的,所以它没有默认接线来影响它添加的东西。

但你能做的就是使用一种解决方法;可能性包括:

  • 使用ThreadLocal;在序列化之前设置,从序列化器中读取
  • 使用“属性”的新(Jackson 2.3)功能;可以设置用于编写(ObjectWriter.setAttribute())和阅读(ObjectReader.setAttribute())的文件,可通过序列化程序/反序列化程序通过上下文对象(SerializerProvider / DeserializationContext)进行访问

所以希望其中一个适用于您的用例。