将JsonNode对象转换为Map

时间:2014-11-05 20:14:21

标签: java json jackson playframework-2.2

我有一个C#程序,它给我发送了一个json对象。 我正在制作一个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

1 个答案:

答案 0 :(得分:91)

我在这里试图找到答案。挖得更深一些,找到了答案here

基本上只需使用ObjectMapper为您转换价值:

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