Springboot web项目默认格式化json转化忽略字段
Springboot web默认使用jackson等库进行消息转换
如果返回值中pojo等实体类需要序列化为json,默认使用jackson进行序列化处理
只要普通pojo类可以正常通过AbstractJackson2HttpMessageConverter.canRead方法检测,就会进入jackson序列化逻辑中
正题来了,如果想要排除某些属性,可以使用@JsonIgnore注解
下面的例子中,@JsonIgnore注解影响的name会排除掉JSON返回体外
而@JsonFormat(pattern = “yyyy-MM-dd”)注解的createTime会被格式化为10位日期格式,
且@JsonProperty(“V”)注解的createTime的JSON的属性key会被转换成V
@Data
@Accessors(chain = true)
public class A {
private int id;
@JsonIgnore
private String name;
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonProperty("V")
private Date createTime;
}
返回JSON结果如下:
{
"id": 1,
"V": "2022-07-15"
}