是否可以使ObjectMapper仅转换实际对象而不递归对象树的其余部分?仅使用Jackson ObjectMapper转换对象树的第一级
这样:
Map<String,Object> props = new ObjectMapper().convertValue(obj, Map.class);
结果在地图上[字段,值]其中价值观是obj的,而不是地图领域的情况下,实际参考?
是否可以使ObjectMapper仅转换实际对象而不递归对象树的其余部分?仅使用Jackson ObjectMapper转换对象树的第一级
这样:
Map<String,Object> props = new ObjectMapper().convertValue(obj, Map.class);
结果在地图上[字段,值]其中价值观是obj的,而不是地图领域的情况下,实际参考?
杰克逊现在没有这种功能。你可以用一个可以共享一些数据和“协议”的自定义串行器/解串器对来实现。但是,当更容易(而且更快)的方式是使用POJO到Map的一种通用方式时,为什么要这样做呢?可能使用反射。
我不知道我明白你真的想在这里做什么。
但有一点可以帮助是记住java.lang.Object
类型(以及JsonNode
)可以自由纳入结构,以获得某种“类型化”结合的结构更深。使用这些类型,您可以避免对对象模型的某些子集进行严格的数据绑定;并可能更动态地使用ObjectMapper.convertValue()
转换为POJO。
使用反射它至少是一个8班轮,即使我使用Spring BeanWrapper ...我只是想知道为什么没有类似的方法在春天... – lisak