亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Springboot中如何使用Jackson

瀏覽:4日期:2023-04-10 15:26:37

1、SpringMVC中默認集成

SpringMVC已經默認集成了JackSon,如下所示:

@RequestMapping('/addUserInfo') public UserInfo addUserInfo(@RequestBody UserInfo userInfo){ }

可以用UserInfo對象來接前臺傳過來的json,SpringMVC已經幫我們自動反序列化。

Springboot中如何使用Jackson

可以看到,在SpringBoot中,只需要導入web starter,不需要添加其他的依賴,就可以使用Jackson。

2、時間格式化

在序列化的過程中,如果有Date格式,我們可以通過下面幾種方式來對時間字段進行格式化。

2.1、注解方式

通過添加JsonFormat注解,可以固定日期格式。

public class UserInfo { private String name; private String password; private Integer age; @JsonFormat(pattern = 'yyyy-MM-dd') private Date birth;

也可以通過這個注解指定時區(time zone)

2.2、重寫bean

也可以重新 JacksonHttpMessageConvertersConfiguration 類中的bean

@Configurationpublic class WebMvcConfig { @Bean MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() { MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.setDateFormat(new SimpleDateFormat('yyyy/MM/dd')); mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper); return mappingJackson2HttpMessageConverter; }}

在JacksonHttpMessageConvertersConfiguration這個類中,原來的方法是:

@ConditionalOnClass({ObjectMapper.class}) @ConditionalOnBean({ObjectMapper.class}) @ConditionalOnProperty( name = {'spring.mvc.converters.preferred-json-mapper'}, havingValue = 'jackson', matchIfMissing = true ) static class MappingJackson2HttpMessageConverterConfiguration { MappingJackson2HttpMessageConverterConfiguration() { } @Bean @ConditionalOnMissingBean( value = {MappingJackson2HttpMessageConverter.class}, ignoredType = {'org.springframework.hateoas.server.mvc.TypeConstrainedMappingJackson2HttpMessageConverter', 'org.springframework.data.rest.webmvc.alps.AlpsJsonHttpMessageConverter'} ) MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(ObjectMapper objectMapper) { return new MappingJackson2HttpMessageConverter(objectMapper); } }

這是最新的版本的spring,與之前版本的略有差異,不過可以看到,給 mappingJackson2HttpMessageConverter方法注入了一個ObjectMapper,那么我們可不可以直接修改ObjectMapper呢?當然可以,在Jackson的自動配置類(JacksonAutoConfiguration)中,可以發現:

@ConditionalOnClass({Jackson2ObjectMapperBuilder.class}) static class JacksonObjectMapperConfiguration { JacksonObjectMapperConfiguration() { } @Bean @Primary @ConditionalOnMissingBean ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { return builder.createXmlMapper(false).build(); } }

在這個內部類里,提供了ObjectMapper。所以我們可以直接重新這個Bean,也可以達到全局修改日期格式的作用。

@Configurationpublic class WebMvcConfig { @Bean ObjectMapper jacksonObjectMapper() { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.setDateFormat(new SimpleDateFormat('yyyy-MM-dd')); return objectMapper; }}

經過測試,注解方式的優先級要高于下面的兩種。

3、Jackson的簡單使用

//測試jackSon public static void main(String[] args) throws JsonProcessingException { UserInfo userInfo = getTestUser(); ObjectMapper objectMapper = new ObjectMapper(); //將對象序列化為json字符串 objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); //忽略為null的字段 String userJsonString = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(userInfo); System.out.println(userJsonString); //將json反序列化為java對象 objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); UserInfo userInfo2 = objectMapper.readValue(userJsonString, UserInfo.class); System.out.println(userInfo2); }

本文作者:DayRain本文鏈接:https://www.cnblogs.com/phdeblog/p/13234842.html

以上就是Springboot中如何使用Jackson的詳細內容,更多關于Springboot中使用Jackson的資料請關注好吧啦網其它相關文章!

標簽: Spring
相關文章:
主站蜘蛛池模板: 国产精品黄色大片 | 国产igao激情在线观看 | 伊人久久中文字幕久久cm | 好爽好深好猛好舒服视频上 | 亚洲码在线中文在线观看 | 国产精品秦先生手机在线 | 免费中文字幕一级毛片 | 欧美二区视频 | 欧美一级毛片欧美毛片视频 | 91精品免费不卡在线观看 | 日本69xxxx免费视频 | 国产大片喷水在线在线视频 | 午夜精品视频在线看 | 黄色六级片 | 天天狠狠色综合图片区 | 看真人一级毛多毛片 | 三级网战 | 国产未成女年一区二区 | 欧美日韩一区二区三区色综合 | 亚洲三级黄色片 | 免费观看一级欧美大 | 成人窝窝午夜看片 | 在线久综合色手机在线播放 | a级午夜理论免费毛片 | 亚洲欧美一区二区三区 | 国产精品欧美亚洲区 | 国产精品人人爱一区二区白浆 | 欧美一级特黄aaaaaa在线看片 | 亚洲成人三级 | 欧美中文字幕 | 成人淫片免费视频95视频 | 边吃奶边弄进去男女视频 | 国产妇女性爽视频免费 | 香蕉高清免费永久在线视频 | 香蕉久久a毛片 | 午夜性视频播放免费视频 | 亚洲国产精品ⅴa在线观看 亚洲国产精品aaa一区 | 国产精品久久久精品三级 | 久久精品国产一区二区三区 | 草草青青 | 在线高清视频18jin观看 |