java - 使用 Jackson databind 将对象序列化为 Map 而不是 String?

标签 java json serialization jackson 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>但我问是否有一种方法可以在不首先序列化为字符串的情况下执行此操作?

我正在使用 Jackson 2.11.1。

最佳答案

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

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

关于java - 使用 Jackson databind 将对象序列化为 Map 而不是 String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62839147/

相关文章:

java - JDom XML 过滤

javascript - 在 AJAX 请求上发送 JSON 对象,在服务器上未定义

c# - 读取 XML 文件时出错

javascript - 克隆的方法在哪里

java - 缅甸数字的算术运算

java - 在Java中以编程方式检查两个线程是否属于同一进程

java - 如何在 Java 中打印颜色的字符串表示

java - saxonica - 如何使用 XPath/XSLT fn :json-to-xml

javascript - 使用 fetch 和 ajax 获取 json 会产生不同的响应

java - 我需要同步 writeObject() 吗?