几个关于json序列化 的注解
阅读原文时间:2023年07月10日阅读:2

一.@JsonProperty

1.此注解用于属性上,作用是把该属性的名称序列化为另外一个名称。例如:

@JsonProperty("name")
private String Name2;

把name2 在序列化的时候变成name。

JsonProperty Maven依赖是

com.fasterxml.jackson.core jackson-databind

二、@JsonSerialize

注解用于属性或者getter方法上,用于在序列化时嵌入我们自定义的代码。例如将date转成long型

1.自定义转换规则

public class Date2LongSerialzer extends JsonSerializer{

@Override  
public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers)  
        throws IOException, JsonProcessingException {  
    // TODO Auto-generated method stub  
    gen.writeNumber(value.getTime()/1000);  
}

}

2.在属性上使用注解

@JsonSerialize(using = Date2LongSerialzer.class)

三、@JsonInclude(JsonInclude.Include.NON_NULL)

在给前端返回的json数据上尽量不要有空的或者null出现,所以使用@JsonInclude(Include.NON_NULL) 这个注解放在类头上就可以解决。 实体类与json互转的时候 属性值为null的不参与序列化

四、还有其他一些注解可以参照 https://www.cnblogs.com/guijl/p/3855329.html