fastjson小技巧——使用fastjson对枚举的序列化,返回属性code/desc等——一看就会

本文介绍如何通过fastjson实现枚举的序列化,以返回枚举的code和desc属性,避免前端需维护与后端枚举对应的映射。通过设置getter和setter方法,不序列化原始枚举字段,而是使用自定义方法获取枚举的特定属性,实现了枚举在序列化时只显示code和desc的目的。
摘要由CSDN通过智能技术生成

场景
在使用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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值