ObjectMapper()。createObjectNode与JsonNodeFactory.instance.objectNode()之间的区别?

时间:2016-09-12 02:55:31

标签: java json jackson jackson2

我看到post关于向JsonNode插入新节点并遇到两个单独的答案,但我无法理解两者之间的区别。

根据我的小经验,ObjectMapper不允许您创建除ObjectNodeArrayNode之外的任何内容,而JsonNodeFactory则允许您创建a whole bunch of nodes

除此之外,还有什么其他差异?

另外,鉴于ObjectMapperconsidered expensive,我想知道后一种方式是否更有效?

1 个答案:

答案 0 :(得分:7)

以下方法之间没有区别:

ObjectMapper mapper = new ObjectMapper();
ObjectNode objectNode = mapper.createObjectNode();
ObjectNode objectNode = JsonNodeFactory.instance.objectNode();

在幕后,杰克逊会将createObjectNode()方法委托给JsonNodeFactory

有关如何使用JsonNodeFactory的详细信息,请参阅此answer