【发布时间】:2013-02-25 14:41:45
【问题描述】:
我需要从域对象生成 Json。我无法在域类中添加注释。
使用 Mixin 不是一个选项,因为我必须忽略很多属性。
我的方法是创建一个具有我需要的属性的 DTO 对象。并使用 dozer 填充 dto,然后使用 jackson 从 dto 生成 Json。看起来太多了。
我想知道是否可以从 xml 配置 Jackson,以便生成具有在 xml 中映射的属性的 json,因此不需要使用 dto 和 dozer。
【问题讨论】:
我需要从域对象生成 Json。我无法在域类中添加注释。
使用 Mixin 不是一个选项,因为我必须忽略很多属性。
我的方法是创建一个具有我需要的属性的 DTO 对象。并使用 dozer 填充 dto,然后使用 jackson 从 dto 生成 Json。看起来太多了。
我想知道是否可以从 xml 配置 Jackson,以便生成具有在 xml 中映射的属性的 json,因此不需要使用 dto 和 dozer。
【问题讨论】:
没有。 Jackson 不支持外部配置文件。
但您没有解释如何或为什么要使用 Dozer 或 DTO。为什么不在Map 中添加您关心的属性,并将其序列化为 JSON?然后你可以使用任何你想构建/修剪Map的机制。
Jackson 还可以转换值,因此要使用来自另一个对象的所有内容创建完整的 Map,您可以这样做:
Map<String,Object> map = objectMapper.convertValue(someBean, Map.class);
然后也许只保留你想要的属性。
【讨论】: