Как конвертировать хранилище HashMap, чтобы JsonNode с Джексоном?
У меня есть объект HashMap
, который я хочу преобразовать в дерево JsonNode
с помощью com.fasterxml.jackson.databind.ObjectMapper
. Как лучше всего это сделать?
Я нашел следующий код, но так как я не знаю API Джексона хорошо, я задаюсь вопросом, есть ли какие-то лучшие способы.
mapper.reader().readTree(mapper.writeValueAsString(hashmap))
1 ответ:
Следующее сделает трюк:
JsonNode jsonNode = mapper.convertValue(map, JsonNode.class);
Или используйте более элегантное решение, указанное в комментариях :
JsonNode jsonNode = mapper.valueToTree(map);
Если вам нужно записать ваш
jsonNode
как строку, используйте:String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonNode);