@JsonProperty

@JsonProperty

在序列号和反序列化时使用。
作用于属性上,作用是把该属性的名称序列化成另一个自己想要的名称。

@JsonProperty("name") 
private String trueName; // 假如 trueName 最后为"小明"
// 转化为 json 后: {"name":"小明"} 

@JsonProperty(access = JsonProperty.Access.READ_ONLY) 只在读时进行(反)序列化。

@Target({ElementType.ANNOTATION_TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotation
public @interface JsonProperty {
    String USE_DEFAULT_NAME = "";
    int INDEX_UNKNOWN = -1;

    String value() default "";

    boolean required() default false;

    int index() default -1;

    String defaultValue() default "";

    JsonProperty.Access access() default JsonProperty.Access.AUTO;

    public static enum Access {
        AUTO,
        READ_ONLY,
        WRITE_ONLY,
        READ_WRITE;

        private Access() {
        }
    }
}
@JsonIgnore

注解用于属性或者方法上,用来完全忽略被注释的字段和方法对应的属性。

@JsonIgnoreProperties

选择性忽略类中的属性,通常作用于类上。

@JsonIngoreProperties(value={"name","sex"})
public class Person{
    private String name;
    private String pwd;
    private String sex;
    private Integer age;  
}
@JsonFormat

格式转换

@JsonFormat(timezone="GTM+8",pattern="yyyy-MM-dd HH:mm:ss")
private Date createDate;

你可能感兴趣的:(#,Spring,注解)