Jackson注解
Jackson JSON工具包包含一组Java注解,可以使用这些注解来设置将JSON读入对象的方式或从对象生成JSON的方式。
下面是一些常用的注解:
| 注解 | 用法 |
|---|---|
| @JsonIgnore | 用于属性,忽略Java对象的某个属性(字段),在将JSON读取到Java对象中以及将Java对象写入JSON时,都将忽略该属性。 @JsonIgnore public long personId = 0; |
| @JsonProperty | 用于属性,把属性的名称序列化时转换为另外一个名称。示例: @JsonProperty("birth_ date") private Date birthDate; |
| @JsonFormat | 用于属性或者方法,把属性的格式序列化时转换成指定的格式。示例: @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm") public Date getBirthDate; |
| @JsonPropertyOrder | 用于类, 指定属性在序列化时 json 中的顺序, 示例: @JsonPropertyOrder({"birth_Date", "name" }) public class Person {} |
| @JsonCreator | 用于构造方法,和 @JsonProperty 配合使用,适用有参数的构造方法。 示例: @JsonCreator public Person(@JsonProperty("name") String name) {} |
| @JsonAnySetter | 用于属性或者方法,设置未反序列化的属性名和值作为键值存储到 map 中 @JsonAnySetter public void set(String key, Object value) { map.put(key, value); } |
| @JsonAnyGetter | 用于方法 ,获取所有未序列化的属性 public Map<String, Object> any() { return map; } |
使用笔记