首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将遗留嵌套Java代码序列化为Json

将遗留嵌套Java代码序列化为Json
EN

Stack Overflow用户
提问于 2014-10-08 05:11:53
回答 1查看 421关注 0票数 1

寻找一些帮助,以序列化深度嵌套的java对象到Json。限制是我不能添加任何注释或更改当前的Java代码。寻找一个功能强大的Json库,该库具有配置选项,可以将Java转换为Json,而不改变Java对象本身。以下是可能需要的一些选项

  1. 指定包含/排除字段/方法。应该能够在嵌套级别上指定这一点。A是由B组成的,B是由C构成的。应该有能力在C中指定包含/排除。
  2. 包括/排除嵌套级别的对象。
  3. 在转换为Json时,从java属性重命名字段(在嵌套级对象中也是如此)
  4. 管理循环依赖关系。

是为了满足杰克逊和葛森的要求。虽然在编写新的Java Pojo时使用注释指定序列化倾诉有很多选项,但我正在考虑一些选项,在这些选项中,我需要指定序列化属性,而不需要更改当前的Java代码。杰克逊和葛森似乎对此有选择,但没有深入记录。哪个库更易于配置以满足上述要求?除了杰克逊/葛森,还有其他强大的图书馆吗?任何有关这方面的指示都会有很大帮助。

非常感谢你抽出时间。

EN

回答 1

Stack Overflow用户

发布于 2014-10-10 21:45:50

至于Jackson,您可以考虑使用所谓的混合注释(请参阅f.ex http://www.studytrails.com/java/json/java-jackson-mix-in-annotation.jsp),它允许您指定要使用的混合注释,而无需直接将它们添加到遗留类中。这将允许您使用基于注释的配置,但实际的类不受影响。

但是,考虑到您的所有需求,最好只使用Jackson或GSON的Tree (获取JsonNode之类的),并根据您的喜好手动处理转换。然后,您可以将树值转换为POJO;例如,Jackson有方法(ObjectMapper.treeToValue().valueToTree().convertValue())来实现此操作,该方法允许对结构兼容的表示进行转换。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26249602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档