激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Java中常用解析工具jackson及fastjson的使用

Java中常用解析工具jackson及fastjson的使用

2021-09-16 12:40紅旗下的小兵 Java教程

今天給大家?guī)淼氖顷P(guān)于Java解析工具的相關(guān)知識(shí),文章圍繞著jackson及fastjson的使用展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下

一、maven安裝jackson依賴

  1. <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
  2. <dependency>
  3. <groupId>com.fasterxml.jackson.core</groupId>
  4. <artifactId>jackson-databind</artifactId>
  5. <version>2.12.3</version>
  6. </dependency>

二、Jackson的使用

實(shí)體類轉(zhuǎn)化JSON

把實(shí)體類轉(zhuǎn)化為JSON格式數(shù)據(jù),返回給前端

創(chuàng)建 ObjectMapper obj = new ObjectMapper(); 對(duì)象,對(duì)象的 writeValueAsString 方法 會(huì)把一個(gè)實(shí)體類(必須有g(shù)et、set方法)轉(zhuǎn)化為JSON對(duì)象。

  1. package com.lxc.springboot.controller;
  2.  
  3. import com.fasterxml.jackson.databind.ObjectMapper;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.RestController;
  6.  
  7. @RestController // 這個(gè)類下邊的所有方法,都會(huì)返回json,不會(huì)返回一個(gè)視圖!
  8. public class Json {
  9.  
  10. @RequestMapping(value = "/json")
  11. public String json() throws Exception{
  12. User user = new User("呂星辰", "888", 20);
  13. ObjectMapper obj = new ObjectMapper();
  14. String jsonObject = obj.writeValueAsString(user);
  15. return jsonObject;
  16. }
  17. // 為測試方便,在這里寫一個(gè)實(shí)體類
  18. public static class User {
  19. private String userName;
  20.  
  21. public String getUserName() {
  22. return userName;
  23. }
  24.  
  25. public void setUserName(String userName) {
  26. this.userName = userName;
  27. }
  28.  
  29. public String getPassword() {
  30. return password;
  31. }
  32.  
  33. public void setPassword(String password) {
  34. this.password = password;
  35. }
  36.  
  37. public int getAge() {
  38. return age;
  39. }
  40.  
  41. public void setAge(int age) {
  42. this.age = age;
  43. }
  44.  
  45. private String password;
  46. private int age;
  47. public User(String userName, String password, int age) {
  48. this.userName = userName;
  49. this.password = password;
  50. this.age = age;
  51. }
  52. }
  53. }

測試:

Java中常用解析工具jackson及fastjson的使用

集合轉(zhuǎn)化JSON

前端結(jié)果是:一個(gè)數(shù)組,里邊是一個(gè)個(gè)對(duì)象

  1. package com.lxc.springboot.controller;
  2.  
  3. import com.fasterxml.jackson.databind.ObjectMapper;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.RestController;
  6.  
  7. import java.util.ArrayList;
  8. import java.util.List;
  9.  
  10. @RestController
  11. public class Json {
  12.  
  13. @RequestMapping(value = "/json")
  14. public String json() throws Exception{
  15. // 創(chuàng)建一個(gè)集合
  16. List<User> userList = new ArrayList<>();
  17. for(int i = 0; i < 3; i ++) {
  18. userList.add(new User("用戶名"+i, "密碼"+i, 20+i));
  19. }
  20. ObjectMapper obj = new ObjectMapper();
  21. String jsonObject = obj.writeValueAsString(userList);
  22. return jsonObject;
  23. }
  24. // 上邊有實(shí)體類,這里省略
  25. }

測試:

Java中常用解析工具jackson及fastjson的使用

Map轉(zhuǎn)化JSON

  1. @RestController
  2. public class Json {
  3.  
  4. @RequestMapping(value = "/json")
  5. public String json() throws Exception{
  6. // 創(chuàng)建一個(gè)Map
  7. Map<String, Object> map = new HashMap<>();
  8. map.put("name", "測試名");
  9. map.put("age", 20);
  10. ObjectMapper obj = new ObjectMapper();
  11. String jsonObject = obj.writeValueAsString(map);
  12. return jsonObject;
  13. }
  14. }

前端結(jié)果是:對(duì)象

Java中常用解析工具jackson及fastjson的使用

new Date() 轉(zhuǎn)化JSON

  1. @RestController
  2. public class Json {
  3.  
  4. @RequestMapping(value = "/json")
  5. public String json() throws Exception{
  6. Date date = new Date();
  7. ObjectMapper obj = new ObjectMapper();
  8. String jsonObject = obj.writeValueAsString(date);
  9. return jsonObject;
  10. }
  11. }

前端結(jié)果是:時(shí)間戳

Java中常用解析工具jackson及fastjson的使用

當(dāng)然,也可以自定義時(shí)間格式

  1. @RestController
  2. public class Json {
  3.  
  4. @RequestMapping(value = "/json")
  5. public String json() throws Exception{
  6. Date date = new Date();
  7. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
  8. String time = sdf.format(date); // "2021-06-27 05:19:33"
  9. ObjectMapper obj = new ObjectMapper();
  10. String jsonObject = obj.writeValueAsString(time);
  11. return jsonObject;
  12. }
  13. }

封裝

  1. package com.lxc.springboot.utils;
  2.  
  3. import com.fasterxml.jackson.core.JsonProcessingException;
  4. import com.fasterxml.jackson.databind.ObjectMapper;
  5. import com.fasterxml.jackson.databind.SerializationFeature;
  6.  
  7. import java.text.SimpleDateFormat;
  8.  
  9. public class JavaUtils {
  10. /**
  11. * 使用下邊方法需要導(dǎo)入依賴包:
  12. * <dependency>
  13. * <groupId>com.fasterxml.jackson.core</groupId>
  14. * <artifactId>jackson-databind</artifactId>
  15. * <version>2.12.3</version>
  16. * </dependency>
  17. *
  18. * @param object 集合(List)、Map(HashMap)、對(duì)象(new Date)
  19. * @param format 時(shí)間格式化 yyyy-MM-dd hh:mm:ss
  20. * @return JSON格式化的字符串
  21. */
  22. public static String getJson(Object object, String format) {
  23. ObjectMapper objectMapper = new ObjectMapper();
  24. // 不使用時(shí)間戳的方式
  25. objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
  26. // 自定義時(shí)間格式
  27. SimpleDateFormat sdf = new SimpleDateFormat(format);
  28. // 設(shè)置時(shí)間格式化
  29. objectMapper.setDateFormat(sdf);
  30. try {
  31. String jsonValue = objectMapper.writeValueAsString(object);
  32. return jsonValue;
  33. } catch (JsonProcessingException e) {
  34. e.printStackTrace();
  35. }
  36. return null;
  37. }
  38. public static String getJson(Object object) {
  39. return getJson(object, "yyyy-MM-dd hh:mm:ss");
  40. }
  41. }

二、FastJson的使用

使用maven導(dǎo)入依賴包

  1. <!--下邊依賴跟aop沒關(guān)系,只是項(xiàng)目中用到了 JSONObject,所以引入fastjson-->
  2. <dependency>
  3. <groupId>com.alibaba</groupId>
  4. <artifactId>fastjson</artifactId>
  5. <version>1.2.70</version>
  6. </dependency>

常用方法:

(1)JSON.toJSONString(obejct) - java對(duì)象轉(zhuǎn)JSON字符串

(2)JSON.parseObject(string, User.class) - JSON字符串轉(zhuǎn)java對(duì)象

使用

  1. @RestController
  2. public class Json {
  3.  
  4. @RequestMapping(value = "/json")
  5. public String json() throws Exception{
  6. List<User> userList = new ArrayList<>();
  7. userList.add(new User("1", "1", 20));
  8. String res = JSON.toJSONString(userList);
  9. return res;
  10. }

Java中常用解析工具jackson及fastjson的使用

到此這篇關(guān)于Java中常用解析工具jackson及fastjson的使用的文章就介紹到這了,更多相關(guān)jackson和fastjson的使用內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/qq_42778001/article/details/118270837

延伸 · 閱讀

精彩推薦
  • Java教程Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java8中Stream使用的一個(gè)注意事項(xiàng)

    Java8中Stream使用的一個(gè)注意事項(xiàng)

    最近在工作中發(fā)現(xiàn)了對(duì)于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個(gè)非常重要的注意點(diǎn),所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7472021-02-04
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程20個(gè)非常實(shí)用的Java程序代碼片段

    20個(gè)非常實(shí)用的Java程序代碼片段

    這篇文章主要為大家分享了20個(gè)非常實(shí)用的Java程序片段,對(duì)java開發(fā)項(xiàng)目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java實(shí)現(xiàn)搶紅包功能

    Java實(shí)現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)搶紅包功能,采用多線程模擬多人同時(shí)搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程升級(jí)IDEA后Lombok不能使用的解決方法

    升級(jí)IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級(jí),尋思已經(jīng)有好久沒有升過級(jí)了。升級(jí)完畢重啟之后,突然發(fā)現(xiàn)好多錯(cuò)誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程xml與Java對(duì)象的轉(zhuǎn)換詳解

    xml與Java對(duì)象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對(duì)象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
主站蜘蛛池模板: xxxx欧美视频| 九九精品在线观看视频 | 国产精品资源手机在线播放 | 性爱视频免费 | 一区二区国产在线 | 久久久久久久久免费 | 久久探花 | 成码无人av片在线观看网站 | 九九热免费在线观看 | 亚洲一级网站 | 伊人一二三四区 | 成人男男视频拍拍拍在线观看 | 久久影院国产精品 | 欧美高清视频一区 | 毛片免费大全短视频 | 免费看欧美一级特黄a毛片 九色com | 国产午夜精品一区二区三区视频 | 中文字幕电影免费播放 | 91精品国产91热久久久做人人 | 久久网页 | 免费国产人成网站 | 全黄裸片武则天一级第4季 偿还电影免费看 | 中文字幕 在线观看 | 国产毛片aaa一区二区三区视频 | 87成人免费看片 | 999插插插 | 在线99热| 成人羞羞在线观看网站 | 中文字幕在线观看精品 | 深夜小视频在线观看 | 九九热视频在线免费观看 | 欧美人与牲禽动交精品一区 | av日韩一区二区三区 | 午夜视频在线 | 日本一级毛片在线播放 | 久久国产精品影视 | 亚洲第一页在线观看 | 黄色免费在线网址 | 亚洲成人在线免费 | 国产成人自拍av | 久久久久电影网站 |