介绍

@JsonAlias注解是在JackSon 2.9版本中开始出现的。作用是为对象属性设置别名,在反序列化时,让对象的属性接受多个json字段的值,可以放在对象属性上或者对象属性的setter方法上。

package com.fasterxml.jackson.annotation;import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Target({ElementType.ANNOTATION_TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotation
public @interface JsonAlias {String[] value() default {};
}

属性说明

  • value:是一个字符串数组

使用

单个别名

@JsonAlias(value = "username")
private String name;

多个别名

@JsonAlias(value = {"username","user"})
private String name;

value是逻辑属性的名称,如果只有value则省略

@JsonAlias({"username","user"})
private String name;

对象属性上

public class User {@JsonAlias(value = {"username","user"})private String name;private String sex;private Integer age;
}

对象属性的setter方法上

public class User {private String name;private String sex;private Integer age;public String getName() {return name;}@JsonAlias(value = {"username","user"})public void setName(String name) {this.name = name;}...
}

注意:如果json字符串中存在对象属性的多个别名,属性会被重复赋值,直到最后一个出现的别名为止。

实践

{"username": "xiaoming","sex": "man","age": 18
}

控制台输出

User(name=xiaoming, sex=man, age=18)

Jackson注解:@JsonAlias使用详解相关推荐

  1. 源代码下载 第六章 注解式控制器详解

    2019独角兽企业重金招聘Python工程师标准>>> 源代码请到附件中下载. 其他下载: 跟着开涛学SpringMVC 第一章源代码下载 第二章 Spring MVC入门 源代码下 ...

  2. SpringBoot注解最全详解(整合超详细版本)

    今日推荐强制双休!腾讯调整加班机制,21 点前必须离开工位 使用雪花id或uuid作为Mysql主键,被老板怼了一顿! 盘点 12 个 GitHub 上的高仿项目 CTO 说了,用错 @Autowir ...

  3. java的注解方式_详解Java注解的实现与使用方法

    详解Java注解的实现与使用方法 Java注解是java5版本发布的,其作用就是节省配置文件,增强代码可读性.在如今各种框架及开发中非常常见,特此说明一下. 如何创建一个注解 每一个自定义的注解都由四 ...

  4. @Column注解及属性详解

    @Column注解 用来标识实体类中属性与数据表中字段的对应关系 (1)源码: /** Copyright (c) 2008, 2009, 2011 Oracle, Inc. All rights r ...

  5. Spring注解之@GetMapping详解

    params 参数详解 例如:@GetMapping(value = "/service", params = "serviceName=CREATE_PROJECT&q ...

  6. 一文总结Spring 注解及作用详解

    文章目录 开启注解扫描配置 @RequestMapping 声明bean的注解 注入bean的注解 spring配置文件中读取properties配置文件 j配置类相关注解 切面(AOP)相关注解 @ ...

  7. Android -- Annotation(注解)原理详解及常见框架应用

    1,我们在上一篇讲到了EventBus源码及3.0版本的简单使用,知道了我们3.0版本是使用注解方式标记事件响应方法的,这里我们就有一个疑问了,为什么在一个方法加上类似于"@Subscrib ...

  8. JavaWeb-Spring中注解大全与详解

    常用的spring注解有如下几种: @Controller @Service @Autowired @RequestMapping @RequestParam @ModelAttribute @Cac ...

  9. springmvc教程--注解开发基础详解

    springmvc教程系列 springmvc史上最好教程(2) springmvc史上最好教程(1) 一. 注解开发-基础 1.1 需求 使用springmvc+mybatis架构实现商品信息维护. ...

最新文章

  1. animation与transition区别
  2. php composer 无法下载,php – composer无法安装laravel / passport
  3. 1.QT中播放视频,录音程序的编写
  4. 《Android游戏编程入门经典》——1.7节小结
  5. TS流头部的调整字段
  6. 暑期训练日志----2018.8.17
  7. android4.0 锁屏实现(转)
  8. 使用js获取IE浏览器版本
  9. 一篇文章助你深入理解zookeeper
  10. 杭电 1272 并查集判断环
  11. .NET序列化与反序列化(转)
  12. 基于java的小型旅游网站设计(含源文件)
  13. 关于Asterisk的传真以及ForIP的概念
  14. 0字节文件无法删除怎么办
  15. 深度学习笔记-吴恩达
  16. python二级操作题评分方法_第二卷讲解Python语言计算机等级考试二级操作题
  17. php ios表情包,php 处理APP emoji表情包 IOS表情包 Mysql保存手机表情
  18. 过采样与欠采样图像重采样(上采样下采样)
  19. 部署 php 项目,使用deployer 来部署PHP项目
  20. maven打包maven-shade-plugin报错Non-parseable POM解决方法

热门文章

  1. python实现快速欧式聚类FEC:fast-euclidean-clustering
  2. 组建WEP加密无线局域网络
  3. 斥资75元,我搭建了自己的博客网站
  4. 工程车辆监控管理系统方案
  5. Hyperledger Fabric网络节点架构
  6. 等精度测频原理--频率计
  7. pytorch1.13启用caffe2
  8. css(六)--css高级技巧
  9. 图像处理之仿油画效果
  10. 小程序瀑布流的实现三种方式