Как конвертировать хранилище HashMap, чтобы JsonNode с Джексоном?


У меня есть объект HashMap, который я хочу преобразовать в дерево JsonNode с помощью com.fasterxml.jackson.databind.ObjectMapper. Как лучше всего это сделать?

Я нашел следующий код, но так как я не знаю API Джексона хорошо, я задаюсь вопросом, есть ли какие-то лучшие способы.

mapper.reader().readTree(mapper.writeValueAsString(hashmap))
1 12

1 ответ:

Следующее сделает трюк:

JsonNode jsonNode = mapper.convertValue(map, JsonNode.class);

Или используйте более элегантное решение, указанное в комментариях :

JsonNode jsonNode = mapper.valueToTree(map);

Если вам нужно записать ваш jsonNode как строку, используйте:

String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonNode);