• @JsonField 修改json字段属性名称


    在前后端分离的开发方式中,经常会遇到后端字段名称和前端字段名称定义不一致的问题,比如,后端定义的Bean中的字段名称为createAt,而前端用的字段名称为createTime。这种情况下可以通过在前端或后端增加字段来使前后端的名称一致,但这种方式总觉得不够优雅。其实可以通过一种简单的注解,将前端所需的字段名称与后端Bean中的字段名称做映射,后端通过JSON.toJSONString方法时,自动把字段名称调整过来。方法如下:

    (此处用的是fastjson,当然jackson也是有这个注解的)

    复制代码
    public class BaseEntity extends BaseObject {
        private long id;
    
        @JSONField(name="createTime")
        private Date createAt;
    
        private Date updateAt;
    
        private String createBy;
    
        private String updateBy;
    
      ... ... get、set方法省略public static void main(String[] args) {
            //Bean 转 JSON
            BaseEntity entity = new BaseEntity();
            entity.setCreateAt(new Date());
            entity.setCreateBy("张三");
            entity.setId(123456);
            entity.setUpdateAt(new Date());
            entity.setUpdateBy("李四");
            System.out.println(JSON.toJSONString(entity));
    
            //JSON 转 Bean
            BaseEntity entity1 = JSON.parseObject("{'createAt':1551506609633,'createBy':'张三','createTime':1551506609633,'id':123456,'updateBy':'李四'}",BaseEntity.class);
            System.out.println(entity1.getCreateAt());
    
        }
    }
    复制代码
  • 相关阅读:
    Alien Security (BFS+DFS)
    HDU 1495 喝可乐(暴力BFS)
    Tempter of the Bone(奇偶剪枝)の反面教材
    Fire Game (双起点bfs)
    Linux学习
    c# 实现IComparable、IComparer接口、Comparer类的详解
    DataTable 基本转换简单实例
    C#集合
    递归方法
    存储过程生成复杂的随机编号
  • 原文地址:https://www.cnblogs.com/aligege/p/10460965.html
Copyright © 2020-2023  润新知