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