使用 Jackson 数据绑定将对象序列化为 Map 而不是 String?

Serialize object as Map instead of String using Jackson databind?

当您想将对象序列化为 JSON 字符串时,通常会执行类似的操作:

String json = objectMapper.writeValueAsString(myObject);

我想知道是否可以将对象直接序列化为 java.util.Map 而不是字符串? IE。像这样(伪代码):

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

我知道我可以先将对象序列化为字符串,然后将其反序列化为 Map<String,Object>,但我想问一下是否有办法做到这一点 without 首先序列化为字符串?

我正在使用 Jackson 2.11.1。

可以使用ObjectMapper的convertValue方法将Object转为Map

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