Jackson Databind代表创建者的问题

时间:2015-02-26 15:35:06

标签: java jackson

使用Jackson Databind进行反序列化,我想覆盖目标POJO对象的创建(仅创建,而不是填充)。我曾尝试使用自定义ValueInstantiator来委派对象创建,但Jackson并未调用创建者方法。关于ValueInstantiator的文档相当稀疏,所以我不确定我是否做错了。

我该如何做到这一点?

代码在这里:https://gist.github.com/anonymous/7a3c84b5db798b17e04c

1 个答案:

答案 0 :(得分:0)

不确定这是否有帮助,但也许查看StdValueInstantiator会有所帮助。代码你看起来还不行,我看不出眼前的问题。 你得到什么日志输出?

查看单元测试,看起来只有一个测试,并且练习使用默认构造函数,而不是委托一个。 我可以添加另一个并看到事情按预期工作 - 这很可能也是一个简单的错误。

编辑:示例代码中存在一个次要(?)问题:指定的方法(create)应该采用一个参数;委托Object正在通过。否则,调用将因参数不匹配而失败。但是如果你没有得到例外,那么现在可能没有被调用。