1

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

Genson 通过插入一些类元数据来处理这个问题,如此处所述

我想使用'addAlias'功能使json对类重构更改具有弹性,但是对我的一个多态类使用此功能似乎(作为副作用)为所有其他(非多态)类。

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

有没有办法在genson中打开只包含一小部分类的类元数据并在其余部分中排除它?

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

但这没有效果。

有任何想法吗?

4

1 回答 1

0

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

这对我来说只是一个选项,因为我可以在序列化多态类时选择适当的 Genson 实例,并为其余的选择另一个实例。

在我的书中不是一个理想的解决方案,所以我愿意接受更好的答案:)

于 2017-11-08T15:36:30.520 回答