使用Jackson Databind进行反序列化,我想覆盖目标POJO对象的创建(仅创建,而不是填充)。我曾尝试使用自定义ValueInstantiator来委派对象创建,但Jackson并未调用创建者方法。关于ValueInstantiator的文档相当稀疏,所以我不确定我是否做错了。
我该如何做到这一点?
代码在这里:https://gist.github.com/anonymous/7a3c84b5db798b17e04c
答案 0 :(得分:0)
不确定这是否有帮助,但也许查看StdValueInstantiator
会有所帮助。代码你看起来还不行,我看不出眼前的问题。
你得到什么日志输出?
查看单元测试,看起来只有一个测试,并且练习使用默认构造函数,而不是委托一个。 我可以添加另一个并看到事情按预期工作 - 这很可能也是一个简单的错误。
编辑:示例代码中存在一个次要(?)问题:指定的方法(create
)应该采用一个参数;委托Object
正在通过。否则,调用将因参数不匹配而失败。但是如果你没有得到例外,那么现在可能没有被调用。