2016-08-01 130 views
22

JsonNode的documetation:杰克逊的ObjectNode和JsonNode有什么区别?

大多数存取器,但是,需要通过特定子类(如ObjectNode和ArrayNode)进行访问。

但是我仍然感到困惑,因为一些stackoverflow的答案似乎可以互换使用。他们提供什么不同的目的?

+0

JsonNode是ObjectNode和ArrayNode扩展的基类。例如。您无法在JsonNode或ObjectNode中的特定索引处获取项目,但可以在ArrayNode中获取该项目。 – bhspencer

回答

28

JsonNodeObjectNodeArrayNode扩展的基类。 JsonNode表示任何有效的Json结构,其中ObjectNodeArrayNode分别是对象(又名图)和数组的特定实现。

ArrayNode具有用于处理数组的诸如get(index i)的具体方法,例如,您无法在JsonNodeObjectNode中的某个特定索引处获得物品,但您可以在ArrayNode中获得该物品。