当您想将对象序列化为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);