Xstream:删除类属性

2022-09-03 17:03:49

如何删除 Xstream 中的 class=“Something” 属性。

我使用带有注释的 Xstream


答案 1

我阅读了它的代码,发现如果你的类不是,它将为你添加默认的class属性,除非类属性名称为空;mapper.defaultImplementationOf(fieldType)

所以,设置这个可以删除类=“某物”属性

 xstream.aliasSystemAttribute(null, "class");

答案 2

事实上,这个问题没有像它应该的那样明确。我的猜测是,您使用的是非标准集合,或者使用的是 XStream 需要存储实际类的接口类型的字段。

在第二种情况下,您可以只使用别名:

xstream.alias("field name", Interface.class, ActualClassToUse.class);

有关更多详细信息,请参阅 http://markmail.org/message/gds63p3dnhpy3ef2