【发布时间】:2015-07-26 13:44:08
【问题描述】:
有没有简单的方法用 Jackson 序列化和反序列化枚举集?
private enum Type {
YES, NO
}
@JacksonXmlProperty(localName = "type", isAttribute = true)
private final EnumSet<Type> types;
这给出了以下 XML:
...<type type="YES" type="NO"/>...
此 XML 无效,因为存在重复的属性。
我还尝试了以下注释:
@JsonSerialize(using = EnumSetSerializer.class)
@JacksonXmlProperty(localName = "type", isAttribute = true)
private final EnumSet<Type> mTypes;
但这会产生以下错误:
Exception in thread "main" com.fasterxml.jackson.databind.JsonMappingException: Class com.fasterxml.jackson.databind.ser.std.EnumSetSerializer has no default (no arg) constructor
【问题讨论】:
-
在将枚举集序列化为 XML 属性时,您期望什么样的 XML?
-
这并不重要,只要它可以再次反序列化(使用Jackson)。
type="YES;NO"之类的东西?
标签: java enums jackson enumset