Преобразование объекта JsonNode в Map
У меня есть программа на С#, которая отправляет мне объект 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
Попал сюда, пытаясь найти ответ сам. Выкопал чуть глубже и нашел немного ответ здесь
Обычно просто используйте ObjectMapper
для преобразования значения:
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> result = mapper.convertValue(jsonNode, new TypeReference<Map<String, Object>>(){});