Jackson注解:@JsonAlias使用详解
介绍
@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使用详解相关推荐
- 源代码下载 第六章 注解式控制器详解
2019独角兽企业重金招聘Python工程师标准>>> 源代码请到附件中下载. 其他下载: 跟着开涛学SpringMVC 第一章源代码下载 第二章 Spring MVC入门 源代码下 ...
- SpringBoot注解最全详解(整合超详细版本)
今日推荐强制双休!腾讯调整加班机制,21 点前必须离开工位 使用雪花id或uuid作为Mysql主键,被老板怼了一顿! 盘点 12 个 GitHub 上的高仿项目 CTO 说了,用错 @Autowir ...
- java的注解方式_详解Java注解的实现与使用方法
详解Java注解的实现与使用方法 Java注解是java5版本发布的,其作用就是节省配置文件,增强代码可读性.在如今各种框架及开发中非常常见,特此说明一下. 如何创建一个注解 每一个自定义的注解都由四 ...
- @Column注解及属性详解
@Column注解 用来标识实体类中属性与数据表中字段的对应关系 (1)源码: /** Copyright (c) 2008, 2009, 2011 Oracle, Inc. All rights r ...
- Spring注解之@GetMapping详解
params 参数详解 例如:@GetMapping(value = "/service", params = "serviceName=CREATE_PROJECT&q ...
- 一文总结Spring 注解及作用详解
文章目录 开启注解扫描配置 @RequestMapping 声明bean的注解 注入bean的注解 spring配置文件中读取properties配置文件 j配置类相关注解 切面(AOP)相关注解 @ ...
- Android -- Annotation(注解)原理详解及常见框架应用
1,我们在上一篇讲到了EventBus源码及3.0版本的简单使用,知道了我们3.0版本是使用注解方式标记事件响应方法的,这里我们就有一个疑问了,为什么在一个方法加上类似于"@Subscrib ...
- JavaWeb-Spring中注解大全与详解
常用的spring注解有如下几种: @Controller @Service @Autowired @RequestMapping @RequestParam @ModelAttribute @Cac ...
- springmvc教程--注解开发基础详解
springmvc教程系列 springmvc史上最好教程(2) springmvc史上最好教程(1) 一. 注解开发-基础 1.1 需求 使用springmvc+mybatis架构实现商品信息维护. ...
最新文章
- animation与transition区别
- php composer 无法下载,php – composer无法安装laravel / passport
- 1.QT中播放视频,录音程序的编写
- 《Android游戏编程入门经典》——1.7节小结
- TS流头部的调整字段
- 暑期训练日志----2018.8.17
- android4.0 锁屏实现(转)
- 使用js获取IE浏览器版本
- 一篇文章助你深入理解zookeeper
- 杭电 1272 并查集判断环
- .NET序列化与反序列化(转)
- 基于java的小型旅游网站设计(含源文件)
- 关于Asterisk的传真以及ForIP的概念
- 0字节文件无法删除怎么办
- 深度学习笔记-吴恩达
- python二级操作题评分方法_第二卷讲解Python语言计算机等级考试二级操作题
- php ios表情包,php 处理APP emoji表情包 IOS表情包 Mysql保存手机表情
- 过采样与欠采样图像重采样(上采样下采样)
- 部署 php 项目,使用deployer 来部署PHP项目
- maven打包maven-shade-plugin报错Non-parseable POM解决方法