首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Genson选择性地使用useClassMetadata和addAlias

Genson选择性地使用useClassMetadata和addAlias
EN

Stack Overflow用户
提问于 2017-11-08 18:55:08
回答 1查看 43关注 0票数 1

我正在我的项目中使用Genson,并且刚刚遇到了多态类型的问题(试图序列化泛型类型X的类)。

Genson通过插入一些类元数据as explained here来处理这个问题。

我想使用'addAlias‘特性来使json对类重构的变化具有弹性,但是对我的一个多态类使用这个特性似乎(作为副作用)打开了所有其他(非多态)类的'useClassMetadata’标志。

这意味着为了使我的代码对类重构的更改具有弹性,我需要为我的所有类(以及将来我可能添加的任何类)添加一个别名,这是一件痛苦的事情,而且很容易被遗忘和遗漏。

在genson中,有没有一种方法可以只为一小部分类打开类元数据的包含,并在其余的子集中排除它?

我已尝试添加到GensonBuilder .exclude("@class") .include("@class", classOf[X])

但这并没有什么效果。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-11-08 23:36:31

因此,到目前为止,我想出的最好的办法是创建一个单独的Genson实例,使用与原始实例相同的配置,但为多态类添加了额外的“addAlias”指令。

这只是我的一个选择,因为我可以在序列化多态类时选择适当的Genson实例,然后为其余的选择其他实例。

在我的书中不是一个理想的解决方案,所以我对更好的答案持开放态度:)

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

https://stackoverflow.com/questions/47177858

复制
相关文章

相似问题

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