8

是否可以让 ObjectMapper 只转换实际对象而不递归地转换对象树的其余部分?

以便 :

Map<String,Object> props = new ObjectMapper().convertValue(obj, Map.class);

导致 [field, value] 的映射,其中值是对 obj 而不是 Maps 的字段实例的实际引用?

4

2 回答 2

1

杰克逊现在没有这样的功能。您可以使用可以共享一些数据和“协议”的自定义 Serializer/Deserializer 对来实现这一点。但是,当更简单(而且更快)的方法是有一种从 POJO 到 Map 的通用方法(可能使用反射)时,为什么还要这样做呢。

于 2013-05-21T19:42:56.217 回答
0

我不确定我是否理解您在这里真正想要做什么。

但可能有帮助的一件事是记住java.lang.Objecttype (以及JsonNode)可以自由地包含在结构中,以便在结构中更深地获得某种“无类型”绑定。使用这些类型,您可以避免对对象模型的某些子集进行严格的数据绑定;ObjectMapper.convertValue()并可能使用更动态的方式转换为 POJO 。

于 2013-05-29T19:06:11.507 回答