将JsonNode转换为Object

pma*_*in8 10 java json jackson

我有一个由外部库提供的JsonNode.我需要将这个JsonNode转换为它的POJO表示.

我见过这样的方法:

mapper.readValue(jsonNode.traverse(), MyPojo.class);
Run Code Online (Sandbox Code Playgroud)

但我对这种解决方案并不满意.traverse()实际上将我的JsonNode转换为String表示形式,然后将其反序列化为POJO.在这种情况下,性能对我来说是个问题.

这样做的其他方式?

谢谢

dna*_*ult 19

也许你正在寻找:

mapper.convertValue(jsonNode, MyPojo.class)
Run Code Online (Sandbox Code Playgroud)

  • 我认同; 甚至`mapper.treeToValue(jsonNode,MyPojo.class)`(不是任何更短的寿) (3认同)
  • 好吧,根据文档,这是一个两步转换,所以我猜这并不比我正在做的好多少?什么更快?遍历()还是convertValue()?“从给定值到给定值类型实例进行两步转换的便捷方法。该功能相当于首先将给定值序列化为 JSON,然后将 JSON 数据绑定到给定类型的值” (2认同)