在实际运用中@JsonField主要有三个用处:
1、修改和json字符串的字段映射【name】
2、格式化数据【format】
3、过滤掉不需要序列化的字段【serialize】
首先声明在低版本中区分注解加在setter和getter方法,而高版本中可以直接加在属性上。如果使用的是Gradle构建项目的话,需要注意Gradle尽量也使用高版本的,
示例1:
private String userName;
/*如果注解加在get上表示在序列化的时候将userName转为name*/
@JsonField(name="name")
public String getuserName(){
return userName;
}
/*如果注解加在set上表示在序列化的时候将name转为userName*/
@JsonField(name="name")
publi void setUserName(String userName) {
this.userName = userName;
}
主要用处是和前端定义字段不一致时
示例2
@JSONField(format = "yyyy-MM-dd HH:mm:ss") private Date createTime;
表示的是对这个字段进行格式化
示例3、
@JSONField(serialize = false) private String age;
表示的是在序列化的时候不序列该字段