web-dev-qa-db-ja.com

JsonNodeオブジェクトをマップに変換

JSONオブジェクトを送信するC#プログラムがあります。 Java PlayウェブサイトでPOSTデータをキャプチャしています。正しいデータをJsonNodeオブジェクトとして取得していますが、変換する必要がありますMapに入れます。

com.fasterxml.jackson.databind.JsonNodeを使用しています

ここで、JsonNodeオブジェクトを正しくキャプチャします。

public static Result index() {
    JsonNode json = request().body().asJson();
}

これでオブジェクトができたので、それをMapに変換する方法を見つけて、魔法をかけることができます。後で、Mapをjsonオブジェクトに変換して、応答で送信する必要があります。

私はドキュメントで探していましたが、利用可能な方法は解決策として叫びませんでした。

この特定のJsonNodeオブジェクトについて参照しているドキュメントは次のとおりです。 http://fasterxml.github.io/jackson-databind/javadoc/2.2.0/com/fasterxml/jackson/ databind/JsonNode.html

39
visc

自分で答えを見つけようとしてここに来ました。少し掘り下げて、少し答えを見つけました ここ

基本的にObjectMapperを使用して値を変換してください:

ObjectMapper mapper = new ObjectMapper();
Map<String, Object> result = mapper.convertValue(jsonNode, Map.class);

(未チェックの割り当てであることに注意してください)

99
mhogerheijde