将 JsonNode 对象转换为 Map

2022-08-31 13:25:16

我有一个C#程序,它向我发送一个json对象。我正在制作一个Java Play网站来捕获POST数据。我将获得正确的数据作为对象,但需要将其转换为.JsonNodeMap

我正在使用com.fasterxml.jackson.databind.JsonNode

以下是我正确捕获JsonNode对象的地方:

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

现在我有了对象,我需要弄清楚如何将其转换为a,以便我可以对它进行一些魔术。稍后,我希望将 back 转换为要在响应中发送的 json 对象。MapMap

我一直在寻找文档,但可用的方法不会尖叫作为解决方案。

以下是我一直引用此特定对象的文档:http://fasterxml.github.io/jackson-databind/javadoc/2.2.0/com/fasterxml/jackson/databind/JsonNode.htmlJsonNode


答案 1

来到这里试图自己找到答案。挖得更深一点,在这里找到了一点答案

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

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

答案 2