2016-08-01 201 views
22

JacksonのObjectNodeとJsonNodeの違いは何ですか? <a href="https://fasterxml.github.io/jackson-databind/javadoc/2.2.0/com/fasterxml/jackson/databind/JsonNode.html" rel="noreferrer"><code>JsonNode</code></a>のdocumetationによれば

ほとんどミューテータは、しかし、特定のサブクラス(例えば、ObjectNodeとArrayNode)を介してアクセスする必要があります。

しかし、私はまだいくつかのstackoverflowの回答はかなり互換性のあるそれらを使用するように見えるので混乱しています。彼らはどんな目的を果たすのですか?

+0

JsonNodeは、ObjectNodeとArrayNodeが拡張する基本クラスです。例えば。 JsonNodeまたはObjectNodeの特定のインデックスで項目を取得することはできませんが、ArrayNodeで行うことはできます。 – bhspencer

答えて

28

JsonNodeは、ObjectNodeおよびArrayNodeが拡張する基本クラスです。 JsonNodeは有効なJson構造を表し、ObjectNodeおよびArrayNodeはそれぞれオブジェクト(別名マップ)および配列の特定の実装です。

ArrayNodeは、get(index i)などの配列を扱う特定の方法を持っています。 JsonNodeまたはObjectNodeにある特定のインデックスの商品を手に入れることはできませんが、ArrayNodeに入ることができます。

関連する問題