场景:
在使用JSONObject.toJSONString(qsm)
时,默认是打印枚举的name(),也就是枚举字面常量。有时候,返回前端,只想返回枚举里面的属性,比如代码标识code,或者描述,这样前端就不需要再存一套枚举与后端对应了。
思路:
可以将原本的枚举类型的属性不参与序列化和反序列化,再使用一个getter、setter方法来偷梁换柱的使用枚举值。这样就可以达到我们想要的效果。
举例说明:
public class LogController {
public static void main(String[] args) {
Qsm qsm = new Qsm();
qsm.setMyEnum(MyEnum.USAGE701);
qsm.setName("QSM");
String s = JSONObject