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



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

String json = objectMapper.writeValueAsString(myObject);

我想知道是否可以将对象直接序列化为java.util.Map而不是String?例如类似这样的东西(伪代码(:

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

我知道我可以先将对象序列化为String,然后将其反序列化为Map<String,Object>,但我想知道是否有一种方法可以在不首先序列化为String的情况下实现

我使用的是Jackson 2.11.1。

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

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

相关内容

最新更新