//需要字段转换的序列维护public static final Map<String,Integer> o = new HashMap<>();static {o.put("1001", 0);o.put("1002", 1);o.put("1003", 2);o.put("9999", 3);}

实体类

注意,字段需要改为public,否则注解要加到set方法上,这样才能根据alternateNames别名来动态生成字段

如果是json转实体类,将别名注解添加到get方法上

@JSONField(name = "No11",alternateNames = {"No1","No2","No3","No4"})
public String applyItemNo;

转换方法

public static void genReqBySeq(Class clz,String seq) {Field[] fields = clz.getFields();for (Field field : fields) {JSONField fieldAnnotation = field.getAnnotation(JSONField.class);if (fieldAnnotation==null) {continue;}String[] alternateNames = fieldAnnotation.alternateNames();Integer index = o.get(seq);if (alternateNames.length<=index) {continue;}Object handler = Proxy.getInvocationHandler(fieldAnnotation);try {Field f = handler.getClass().getDeclaredField("memberValues");f.setAccessible(true);Map<String, Object> memberValues = (Map<String, Object>) f.get(handler);memberValues.put("name", alternateNames[seq]);} catch (Exception e) {throw BizException.error("实体类添加属性失败:"+clz.getName());}}}

动态修改实体类转json的属性名相关推荐

  1. java.lang.Instrument 动态修改替换类代码

    java.lang.Instrument 动态修改替换类代码 | java.lang.Instrument包是在JDK5引入的,程序员通过修改方法的字节码实现动态修改类代码. 这通常是在类的main方 ...

  2. SAP UI5 应用开发教程之三十六 - 使用 Chrome 开发者工具 Elements 标签动态修改 CSS 类试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  3. 9.动态生成实体类,根据XML模板使用Emit生成动态类绑定到DataGrid

    在实际项目中,我们可能会遇到用户自定义XML模板字段,根据这个模板上的字段来显示相应的字段的值到DataGrid.在这种情况下,需要使用 XmlReader解析获取这个用户自定义的XML模板上有哪些字 ...

  4. swagger参数注解,后台使用@RequestBody注解的实体类,但只需要传实体类中的一个属性

    一开始是这个样子的 @ApiOperation(value = "删除用户", notes = "根据用户名删除指定用户", httpMethod = &quo ...

  5. Android开发--使用实体类解析JSON文本

    Android开发–使用实体类解析JSON文本 在Android开发过程中,涉及到了API的调用的时候,会返回特定的数据,两个主流返回的数据格式是JSON形式和XML形式.但是相对于XML,JSON数 ...

  6. 【小5聊】C# Json字符串转Model实体类以及Model实体类转Json字符串

    1.引用DLL:Newtonsoft.Json.dll 引用自己项目兼容的dll版本安装 2.Json字符串转Model实体类 UserInfoModel model = new UserInfoMo ...

  7. IDEA插件之实体类转JSON —— POJO to JSON

    下载插件: 插件使用方式:下载安装后,选中实体类右键,单击 Copy JSON 或 Copy JSON and Random Values ,然后 Ctrl+V 即可 Copy JSON  将实体类转 ...

  8. java将实体类转为json_JavaWeb实体类转为json对象的实现方法

    1.创建个实体类 实体类User代码: package com.neuedu.entity; import lombok.AllArgsConstructor; import lombok.Data; ...

  9. Spring Boot接口返回的字段名和实体类中定义的字段名不一致

    问题描述:在使用@ResponseBody注解返回一个Controller接口数据时会遇到接口中返回的字段与实体中定义的字段不一致的情况,例如实体类中定义的字段名如下: @ApiModelProper ...

最新文章

  1. Python笔记总结week3
  2. Beta阶段项目总结
  3. neuroph轻量级神经网络框架
  4. 专门为ADO二层升三层的咏南中间件(特种用途)
  5. python棋盘最短路径_Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例...
  6. C#多线程之旅(4)——APM初探
  7. php命令行用法简介
  8. SQL-92标准 中文翻译——概念(位字符串)
  9. linux显示3个字符,Linux驱动学习笔记(3)字符设备驱动
  10. awbeci—一个帮助你快速处理日常工作的网址收集网站
  11. 力扣-119. 杨辉三角 II
  12. 4. 两个排序数组的中位数
  13. PDF迅捷转换器html网址,迅捷pdf转换成HTML转换器
  14. Macbook Pro 安装 win10 单操作系统
  15. LED背光源的使用寿命多久?
  16. 如何在央行查询企业征信报告?
  17. Bytom Dapp 开发笔记(二):开发流程
  18. 唐桥医学云会议助力第二届世界中医药互联网产业大会
  19. MFC 入门级基础知识
  20. 海康iv4200支持多少_年度最佳理财产品的亲弟弟——海康威视C2000L256G测评

热门文章

  1. 从控制台读取password - C#
  2. Maximo中调用XFire客户端的实现—Weblogic中间件
  3. LeetCode 109. 有序链表转换二叉搜索树
  4. Elasticsearch 支持哪些类型的查询?
  5. 的pcie带宽_新品推荐:乐扩PCIe四路SDI高清采集卡
  6. 分布式锁 分布式系统
  7. redis的事务不是原子性
  8. mysql慢查询优化方案
  9. 软件工程师你应该知道的100个原则
  10. 关于一致性hash算法的几个问题