Xstream:删除class属性

Qui*_*Par 13 java attributes annotations xstream

如何删除Xstream 中的class ="Something"属性.

我使用带有注释的Xstream

小智 20

我读了它的代码并发现如果你的类没有mapper.defaultImplementationOf(fieldType),它将为你添加默认的class属性,除非class属性名为null;

所以,设置这个可以删除class ="Something"属性

 xstream.aliasSystemAttribute(null, "class");
Run Code Online (Sandbox Code Playgroud)


Chr*_*bek 13

事实上,问题并没有像它应该的那样明确地表达.我的猜测是你使用非标准集合或使用XStream需要存储实际类的接口类型的字段.

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

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

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