使用方案:项目连接到多个外部系统,每个外部系统使用的字段不统一,因此应使用不同系统的动态输出的序列化数据来适应每个系统的要求
使用自定义注释和FastJson实施需求
fastjson的名称尾部角色:在序列化期间,属性名称成为自身指定的名称
自定义注释1:myParamname
价值和名称都是不遵守的
值:默认序列化的名称
名称:自定义注释两个,数组表格
自定义注释2:名称
ID:唯一徽标,序列化后确定属性名称
值:序列化定义属性名称
手写的mynamefilter,实现了fastjson的名称窗口
构造函数传输ID属性的值,匹配自定义注释二的ID,并使用相应的属性名称(如果匹配成功)
物理类,自定义的注释添加到属性
运行主方法测试
结果是:
{“年龄”:“ 18”,“ _ ID”:“ 001”,“名称”:“ Zhang san”} {“ age”:“ 18”,“ i_d”:“ 001”,“ name”:“ Zhangsan“}
参考#Java序列化对象,根据不同的配置更改属性名称
原始:https://juejin.cn/post/7101517823695912990