巧⽤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(){
Code();
}
}
序列化的类的属性
import com.alibaba.fastjson.serializer.JSONSerializer;
import com.alibaba.fastjson.serializer.ObjectSerializer;
import com.alibaba.fastjson.serializer.SerializeWriter;
import java.io.IOException;
import flect.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,
fastjson怎么用int features) throws IOException {
SerializeWriter out = serializer.out;
if (object == null) {
out.writeNull();
return;
}
//原来的值code
String strVal = String();
System.out.println(strVal);
/
/通过code查相关名称,测试先写死值
String name="std";
out.writeString(name);
}
}
经测试,序列化正常,其他地⽅只需要在VO增加该注解即可.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。