项目快捷新增字段查询-Fastjson序列化实现字段转换

    项目中突然需要增加另一个字段的查找,而这个查找需要查另一张表的记录。
    但现在产品很多地方都要增加该字段,如何最快的实现该功能呢。
    办法如下:
        通过fastjson序列化时,增加该字段的序列化类,该序列化类通过CODE查找名称,并序列化到前端。

VO的功能修改:
@Data
public class SysDictItemSelectVo implements Serializable{

    private static final long serialVersionUID = 1L;
    @JSONField(serializeUsing=ToSystemNameSerializer.class)
    private String systemName;

    public String getSystemName(){
        return this.getCode();
    }
}
序列化的类的属性:
import com.alibaba.fastjson.serializer.JSONSerializer;
import com.alibaba.fastjson.serializer.ObjectSerializer;
import com.alibaba.fastjson.serializer.SerializeWriter;

import java.io.IOException;
import java.lang.reflect.Type;

public class ToSystemNameSerializer implements ObjectSerializer {

    public static final  ToSystemNameSerializer instance = new  ToSystemNameSerializer();

    @Override
    public void write(JSONSerializer serializer, Object object, Object fieldName, Type fieldType,
                      int features) throws IOException {
        SerializeWriter out = serializer.out;

        if (object == null) {
            out.writeNull();
            return;
        }

        //原来的值code
        String strVal = object.toString();
        System.out.println(strVal);
        //通过code查找相关名称,测试先写死值 
        String name="std";
        out.writeString(name);

    }
}
fastjson.jpg
本文选自网上文章,仅作学习记录,原文出处:点我访问
作者:徐先森 文章名: 《项目快捷新增字段查询-Fastjson序列化实现字段转换》
收录情况: 百度已收录
版权说明:若无特别注明,本文皆为 "徐博客”原创,转载请保留出处!

相关推荐

网友评论(0)