巧用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);
}
}
经测试,序列化正常,其他地方只需要在VO增加该注解即可.
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
C#代码风格指南
参考资料: asp.net 主页仓库 代码风格 —— 一般原则 最通用的指导原则是我们使用所有的VS默认设置的代码格式,除了我们把系统命名空间放在其他命名空间之前(这在VS中是默认的,但是在VS的更新版本中已经改变了)。 使用四个空格缩进(不用Tab) 私有字段使用_camelCase 除非必要,避免使用this. 始终指定成员的可见性,即使你将使用的可见性和默认可见性一致 开放的大括号({)要另起一行 你可以使用任何可用的语言特性,但是你要保持代码易读、易于维护 举一个反例:public (int, string) GetData(string filter) => (Data.Status, Data.GetWithFilter(filter ?? throw new ArgumentNullException(nameof(filter)))); 这是一条很难读懂的语句 使用var声明变量 只要编译器允许,那么尽可能的使用var声明变量,比如下面的代码: var fruit = "Lychee"; var fruits = new List<Fruit>(); ...
-
下一篇
教你用Python解决非平衡数据问题(附代码)
好久没有更新自己写的文章了,相信很多读者都会比较失望,甚至取关了吧,在此向各位网友道个歉。文章未及时更新的主要原因是目前在写Python和R语言相关的书籍,激动的是基于Python的数据分析与挖掘的书已经编写完毕,后期还继续书写R语言相关的内容。希望得到网友的理解,为晚来的新文章再次表示抱歉。 本次分享的主题是关于数据挖掘中常见的非平衡数据的处理,内容涉及到非平衡数据的解决方案和原理,以及如何使用Python这个强大的工具实现平衡的转换。 SMOTE算法的介绍 在实际应用中,读者可能会碰到一种比较头疼的问题,那就是分类问题中类别型的因变量可能存在严重的偏倚,即类别之间的比例严重失调。如欺诈问题中,欺诈类观测在样本集中毕竟占少数;客户流失问题中,非忠实的客户往往也是占很少一部分;在某营销活动的响应问题中,真正参与活动的客户也同样只是少部分
相关文章
文章评论
共有0条评论来说两句吧...

微信收款码
支付宝收款码