概述
@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;
最后
以上就是醉熏汽车为你收集整理的@JsonProperty的全部内容,希望文章能够帮你解决@JsonProperty所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复