Spring jackson原理及基本使用方法詳解
導(dǎo)入maven依賴
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.11.2</version> </dependency>
1、java對(duì)象轉(zhuǎn)json
@Testpublic void test01() throws JsonProcessingException { //創(chuàng)建User對(duì)象 User user=new User('admin','1111'); //將user轉(zhuǎn)為json格式 ObjectMapper objectMapper=new ObjectMapper(); String userString=objectMapper.writeValueAsString(user); System.out.println(userString);}
2、writeValue(參數(shù)1,obj)方法介紹
參數(shù)1
File:將obj對(duì)象轉(zhuǎn)換為json字符串,并保存到指定的文件中 writer:將obj對(duì)象轉(zhuǎn)換為json字符串,并將json數(shù)據(jù)填充到字符輸出流中 Outputstream:將obj對(duì)象轉(zhuǎn)換為json字符串,并將json數(shù)據(jù)填充到字節(jié)輸出流中3、注解介紹
@JsonIgnore:排除屬性,即當(dāng)前注解屬性不轉(zhuǎn)化json @JsonFormat:屬性值的格式化常用在日期屬性上,eg:@sonFormat(pattern = 'yyyy-MM-dd')
4、json轉(zhuǎn)java對(duì)象
@Testpublic void test02() throws JsonProcessingException { //創(chuàng)建json對(duì)象 String json='{'username':'admin','password':'1111'}'; //將json對(duì)象轉(zhuǎn)為java對(duì)象 ObjectMapper objectMapper=new ObjectMapper(); User user=objectMapper.readValue(json,User.class); System.out.println(user);}
5、集合轉(zhuǎn)json
@Testpublic void test03() throws JsonProcessingException { //創(chuàng)建User對(duì)象 User user=new User('admin','1111'); //存儲(chǔ)User對(duì)象 List<User> userList=new ArrayList<User>(); userList.add(user); userList.add(user); userList.add(user); //集合轉(zhuǎn)json ObjectMapper objectMapper=new ObjectMapper(); String listJson=objectMapper.writeValueAsString(userList); System.out.println(listJson);}
注:map集合的轉(zhuǎn)換和list是一樣的
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Ajax常用封裝庫(kù)——Axios的使用2. jsp網(wǎng)頁(yè)實(shí)現(xiàn)貪吃蛇小游戲3. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))4. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera5. 不使用XMLHttpRequest對(duì)象實(shí)現(xiàn)Ajax效果的方法小結(jié)6. 在 Ubuntu Linux 上安裝 Oracle Java 14的方法7. 如何在?ASP.NET?Core?Web?API?中處理?Patch?請(qǐng)求8. Android Studio進(jìn)行APP圖標(biāo)更改的兩種方式總結(jié)9. pybind11: C++ 工程提供 Python 接口的實(shí)例代碼10. PHP終止腳本運(yùn)行三種實(shí)現(xiàn)方法詳解
