我有一个 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
最佳答案
来到这里试图自己找到答案。挖得更深一点,找到了一点答案here
基本上只需使用 ObjectMapper
为您转换值:
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> result = mapper.convertValue(jsonNode, new TypeReference<Map<String, Object>>(){});
关于java - 将 JsonNode 对象转换为 Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26766256/