@JsonProperty: 作用在字段或方法上,用于进行属性的格式化,可以指定key名
例子:
@JsonProperty("user_id")
private Integer userId;
如果不加这个注解,返回json的key就是userId而不是user_id
@JsonIgnore: 作用在字段或方法上,用于忽略属性,不生成json,不接收json数据
注意,这个既不接收json也不生成json
@JsonInclude(JsonInclude.Include.NON_NULL): 当这个值不为null的时候生成json,不影响接收json
@JsonInclude(JsonInclude.Include.NON_NULL)
private String userPhonenumber;
此时当我们的数据库中没有手机号的时候,就不会生成json,同时也不会影响其前端传来的接收json。
@JsonIgnoreProperties:
作用在类上,用来说明有些属性在序列化/反序列化时需要忽略掉,可以将它看做是@JsonIgnore的批量操作,但它的功能比@JsonIgnore要强,比如一个类是代理类,我们无法将将@JsonIgnore标记在属性或方法上,此时便可用@JsonIgnoreProperties标注在类声明上,它还有一个重要的功能是作用在反序列化时解析字段时过滤一些未知的属性,否则通常情况下解析到我们定义的类不认识的属性便会抛出异常。
可以注明是想要忽略的属性列表如@JsonIgnoreProperties({"name","age","title"}),
也可以注明过滤掉未知的属性如@JsonIgnoreProperties(ignoreUnknown=true)
@JsonPropertyOrder:
作用在类上,被用来指明当序列化时需要对属性做排序,它有2个属性
一个是alphabetic:布尔类型,表示是否采用字母拼音顺序排序,默认是为false,即不排序
@JsonIgnoreType
作用于类,表示被注解该类型的属性将不会被序列化和反序列化
后面的以后学到了,用到了再补充。。。