3
想象我有这样的定义枚举:JAXB/MOXy可以像常规类(非枚举)一样序列化枚举吗?
public enum ArchiveStatus implements Serializable {
CANDIDATE (0, "CANDIDATE", "Candidate for archival"),
IN_LIBRARY (1, "IN-LIBRARY", ".."),
FROM_LIBRARY (2, "FROM-LIBRARY", "..");
private int id;
private String shortName;
private String longName;
public ArchiveStatus(int id, String shortName, String longName) {
..
}
public int getId() { .. }
public String getShortName() { .. }
public String getLongName() { .. }
}
默认莫西即将其序列化到JSON是这样的:
{
..
"archiveStatus": "CANDIDATE",
..
}
是否有配置莫西(映射文件)的方式序列化枚举像普通类:
{
..
"archiveStatus": { "id" : 0, "shortName": "CANDIDATE", "longName": "Candidate for archival" },
..
}
什么是这样做的呢?您需要唯一标识枚举元素的_only_信息就是名称。 – 2012-04-13 16:14:15
唯一的原因是保留返回JSON的API。我正在调查,看看我们是否可以使用MOXY来取代原生JSON串行器。 – Waldek 2012-04-13 19:00:47