本文概览:介绍Jackson常用的配置和注解。
1 常用配置
1.1 进行配置
通过configure函数来配置属性
| 1 2 3 4 5 | ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); mapper.configure(SerializationFeature.INDENT_OUTPUT, false); mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true); | 
用到Feature主要有四种:
- DeserializationFeature
- SerializationFeature
- JsonParser.Feature
- JsonGenerator.Feature
1.2 属性介绍
1.2.1 反序列化 DeserializationFeature
反序列化就是指将json转成Object的过程,涉及到属性如下:
| 属性 | 解释 | 
| FAIL_ON_UNKNOWN_PROPERTIES | 设置为false,表示:json中字段多了,不会影响json转Object | 
| ACCEPT_EMPTY_STRING_AS_NULL_OBJECT | 设置为ture时,可以将一个空字符串“”转成一个null。如{“student”:””},其中“student”在反序列化时对应类Student,此时Student的值会被设置为null。 | 
1.2.2 序列化 SerializationFeature
序列化就是指将Ojbect转成Json的过程,涉及到属性如下:
| 属性 | 解释 | 
| WRITE_NULL_MAP_VALUES | 如果为false,则表示跳过null的字段 | 
2 注解
在类的成员变量上使用,常用的注解如下:
| 注解 | 解释 | 
| @JsonIgnore | 此注解用于属性上,作用是进行JSON操作时忽略该属性 | 
| @JsonProperty | 将类成员的名称序列化时,变为另外一个名称。如@JsonProperty(“bank_code”)。 | 
| @JsonInclude | @JsonInclude(JsonInclude.Include.NON_NULL)表示跳过值为null的类成员 | 
| @JsonFormat | 对date类型进行格式化,@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”) | 
(待完善)






