Сериализовать объект как карту вместо строки с использованием привязки данных Джексона? - PullRequest
2 голосов
/ 10 июля 2020

Обычно делают что-то подобное, когда вы хотите сериализовать объект в строку JSON:

String json = objectMapper.writeValueAsString(myObject);

Интересно, можно ли сериализовать объект непосредственно в java.util.Map вместо Строка? То есть что-то вроде этого (псевдокод):

String json = objectMapper.writeValueAs(myObject, new TypeReference<Map<String,Object>>() {});

Я знаю, что могу сначала сериализовать объект в String, а затем десериализовать его как Map<String,Object>, но я спрашиваю, есть ли способ сделать это без первой сериализации в String?

Я использую Jackson 2.11.1.

1 Ответ

2 голосов
/ 10 июля 2020

Вы можете использовать convertValue метод ObjectMapper для преобразования объекта в карту

Map<String, Object> map = objectMapper.convertValue(myObject, Map.class);
...