SpringBoot系列FastJson篇之@JsonField

在实际运用中@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;

表示的是在序列化的时候不序列该字段

 

你可能感兴趣的:(SpringBoot)