我有一个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
答案 0 :(得分:91)
我在这里试图找到答案。挖得更深一些,找到了答案here
基本上只需使用ObjectMapper
为您转换价值:
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> result = mapper.convertValue(jsonNode, Map.class);