deserialize - object to map java
Convertir objeto JsonNode a Map (1)
Tengo un programa C # que me envía un objeto json. Estoy haciendo un sitio web de Java Play para capturar los datos POST. Obtengo los datos correctos como un objeto JsonNode
pero necesito convertirlos en un Map
.
Estoy usando com.fasterxml.jackson.databind.JsonNode
Aquí es donde capturo correctamente el objeto JsonNode:
public static Result index() {
JsonNode json = request().body().asJson();
}
Ahora que tengo el objeto que necesito para averiguar cómo convertirlo en un Map
para que pueda hacer algo de magia en él. Más adelante querré convertir el Map
nuevo en un objeto json para enviarlo en la respuesta.
He estado buscando en la documentación, pero los métodos disponibles no gritan como la solución.
Aquí está la documentación a la que me he referido para este objeto JsonNode
particular: http://fasterxml.github.io/jackson-databind/javadoc/2.2.0/com/fasterxml/jackson/databind/JsonNode.html
Llegué aquí tratando de encontrar la respuesta yo mismo. Cavé un poco más profundo y encontré un poco la respuesta here
Básicamente, solo use el ObjectMapper
para convertir el valor para usted:
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> result = mapper.convertValue(jsonNode, Map.class);