Jackson2定制解串器工厂

tim*_*fei 5 jackson

我将杰克逊1.6代码移植到杰克逊2并偶然发现了一个已弃用的代码.

我在杰克逊1.6中所做的是:

CustomDeserializerFactory sf = new CustomDeserializerFactory();
mapper.setDeserializerProvider(new StdDeserializerProvider(sf));
sf.addSpecificMapping(BigDecimal.class, new BigDecimalDeserializer());
t = mapper.readValue(ts, X[].class);
Run Code Online (Sandbox Code Playgroud)

谁知道如何在杰克逊2中做到这一点?

Sta*_*Man 1

在杰克逊 2.0 中:

  1. 创建一个Module(通常SimpleModule
  2. 向其注册自定义处理程序。
  3. 称呼ObjectMapper.registerModule(module);

这在 Jackson 1.x 上也可用(从 1.8 左右开始)。