Springboot JSON 轉換:Jackson篇( 二 )

Jackson 的配置項常見的用法是把 Controller 回傳給前端的 JSON 進行一些處理,例如時間格式化、忽略 NULL 值等等
這些配置可以在配置文件中完成,可以重新注入ObjectMapper,也可以使用實體類注解單獨配置
這部分內容用到哪些配置項 , 想起來就補充,隨緣更新

配置文件
spring:jackson:# 格式化日期時使用的時區time-zone: GMT+8# 格式化date-format: yyyy-MM-dd HH:mm:ss.SSS# 用于格式化的語言環境locale: zh_CNserialization:# 是否開啟格式化輸出indent_output: false
重新注入 ObjectMapper
@Beanpublic ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {// 通過該方法對mapper對象進行設置,所有序列化的對象都將該規則進行序列化ObjectMapper objectMapper = builder.createXmlMapper(false).build();// Include.Include.ALWAYS 默認// Include.NON_DEFAULT 屬性為默認值不序列化// Include.NON_EMPTY 屬性為 空("") 或者為 NULL 都不序列化,則返回的json是沒有這個字段的 。這樣對移動端會更省流量// Include.NON_NULL 屬性為NULL 不序列化objectMapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);return objectMapper;}
【Springboot JSON 轉換:Jackson篇】實體類注解
注解作用@JsonIgnoreProperties批量設置轉 JSON 時忽略的屬性@JsonIgnore轉 JSON 時忽略當前屬性@JsonProperty修改轉換后的 JSON 的屬性名@JsonFormat轉 JSON 時格式化屬性的值

推薦閱讀