七叶笔记 » java编程 » java序列化对象根据不同配置动态改变属性名的方法

java序列化对象根据不同配置动态改变属性名的方法

使用场景:自己项目对接多个外部系统,各个外部系统使用的字段并没有统一,所以要根据不同系统动态的输出序列化数据,使适应各个系统的要求

实现方式

使用自定义注解和fastjson实现需求

fastjson的NameFilter的作用:序列化时,属性名变成自己指定的名称

实现过程

自定义注解一:MyParamName

value、names都是非必填

value:默认序列化的名称

names:自定义注解二,数组形式

自定义注解二:NameEle

id:唯一标识,确定序列化后的属性名

value:定义序列化后的属性名

手写MyNameFilter,实现fastjson的NameFilter

构造方法传递id属性的值,与自定义注解二的id进行匹配,匹配成功则使用对应的属性名

实体类,属性上添加自定义注解

运行主方法测试

结果为:

{"age":"18","_id":"001","NAME":"张三"} {"age":"18","i_d":"001","NAME":"张三"}

参考

# java序列化对象,根据不同配置动态改变属性名

到此这篇关于java序列化对象根据不同配置动态改变属性名的方法的文章就介绍到这了,更多相关java序列化对象改变属性名内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!

相关文章