2016-08-01 134 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中獲得該物品。