2016-09-08 140 views
4

JsonNodeツリーに変換するHashMapオブジェクトを持っています。com.fasterxml.jackson.databind.ObjectMapperを使用しています。それを行う最善の方法は何ですか?HashMapをJacksonとJsonNodeに変換するには?

私は次のコードを見つけましたが、私はJackson APIについてよく知らないので、いくつかのより良い方法があるのだろうかと思います。

mapper.reader().readTree(mapper.writeValueAsString(hashmap)) 
+0

ハッシュマップでは達成できないJsonNodeインスタンスは何が必要ですか? –

+0

私はあなたがループと手動でそれを変換する必要があると思う:)...あなたのオブジェクトが関数が必要と正しくない可能性があるため、自動関数で変換しようとするといくつかの考えが間違っていた – HoangHieu

答えて

14

以下は、トリックを行います:

JsonNode jsonNode = mapper.convertValue(map, JsonNode.class); 

それともよりエレガントなソリューションを使用しcommentsで指さ:

JsonNode jsonNode = mapper.valueToTree(map); 

を、あなたを記述する必要がある場合jsonNodeを文字列として使用します。

String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonNode); 
+0

この答えはもう少しエレガントですIMHO:https: //stackoverflow.com/questions/11828368/convert-java-object-to-jsonnode-in-jackson – Dasmowenator

関連する問題