使用fastjson進行json字符串和List的轉換

? 使用fastjson進行自定義類的列表和字符串轉換

? 1.環境

? jdk1.8,fastjson

? 2.pom.xml

[html]?view plain?copy
  1. <project?xmlns="http://maven.apache.org/POM/4.0.0"?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"??
  2. ????xsi:schemaLocation="http://maven.apache.org/POM/4.0.0?http://maven.apache.org/xsd/maven-4.0.0.xsd">??
  3. ????<modelVersion>4.0.0</modelVersion>??
  4. ??
  5. ????<groupId>co.neutron.json</groupId>??
  6. ????<artifactId>fastjson</artifactId>??
  7. ????<version>0.0.1-SNAPSHOT</version>??
  8. ????<packaging>jar</packaging>??
  9. ??
  10. ????<name>fastjson</name>??
  11. ????<url>http://maven.apache.org</url>??
  12. ??
  13. ????<properties>??
  14. ????????<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>??
  15. ????</properties>??
  16. ??
  17. ????<dependencies>??
  18. ????????<dependency>??
  19. ????????????<groupId>junit</groupId>??
  20. ????????????<artifactId>junit</artifactId>??
  21. ????????????<version>4.8</version>??
  22. ????????????<scope>test</scope>??
  23. ????????</dependency>??
  24. ????????<dependency>??
  25. ????????????<groupId>com.alibaba</groupId>??
  26. ????????????<artifactId>fastjson</artifactId>??
  27. ????????????<version>1.2.12</version>??
  28. ????????</dependency>??
  29. ????????<dependency>??
  30. ????????????<groupId>org.slf4j</groupId>??
  31. ????????????<artifactId>slf4j-log4j12</artifactId>??
  32. ????????????<version>1.7.2</version>??
  33. ????????</dependency>??
  34. ????</dependencies>??
  35. </project>??

? 3.實體類
[html]?view plain?copy
  1. package?co.neutron.json.fastjson.entity;??
  2. ??
  3. public?class?User?{??
  4. ????private?int?id;??
  5. ????private?String?name;??
  6. ????private?int?age;??
  7. ??????
  8. ????public?User()?{??
  9. ????????super();??
  10. ????}??
  11. ??
  12. ????public?User(int?id,?String?name,?int?age)?{??
  13. ????????super();??
  14. ????????this.id?=?id;??
  15. ????????this.name?=?name;??
  16. ????????this.age?=?age;??
  17. ????}??
  18. ??
  19. ????public?int?getId()?{??
  20. ????????return?id;??
  21. ????}??
  22. ??
  23. ????public?void?setId(int?id)?{??
  24. ????????this.id?=?id;??
  25. ????}??
  26. ??
  27. ????public?String?getName()?{??
  28. ????????return?name;??
  29. ????}??
  30. ??
  31. ????public?void?setName(String?name)?{??
  32. ????????this.name?=?name;??
  33. ????}??
  34. ??
  35. ????public?int?getAge()?{??
  36. ????????return?age;??
  37. ????}??
  38. ??
  39. ????public?void?setAge(int?age)?{??
  40. ????????this.age?=?age;??
  41. ????}??
  42. ??
  43. ????@Override??
  44. ????public?String?toString()?{??
  45. ????????return?"User?[id="?+?id?+?",?name="?+?name?+?",?age="?+?age?+?"]";??
  46. ????}??
  47. ??????
  48. }??

? 4.測試類

[java]?view plain?copy
  1. package?co.neutron.json.fastjson;??
  2. ??
  3. import?java.util.ArrayList;??
  4. import?java.util.List;??
  5. ??
  6. import?org.junit.Assert;??
  7. import?org.junit.Test;??
  8. ??
  9. import?com.alibaba.fastjson.JSON;??
  10. ??
  11. import?co.neutron.json.fastjson.entity.User;??
  12. ??
  13. public?class?ArrayListTest?{??
  14. ??
  15. ????/*?
  16. ?????*?測試內容如下?
  17. ?????*?1.將User類型數組轉換成json字符串?
  18. ?????*?2.將json字符串轉換成為User數組?
  19. ?????*/??
  20. ????@Test??
  21. ????public?void?testArray2StringAndString2List()?{??
  22. ????????User?user1?=?new?User(1,?"張1",?11);??
  23. ????????User?user2?=?new?User(2,?"張2",?12);??
  24. ????????User?user3?=?new?User(3,?"張3",?13);??
  25. ????????User?user4?=?new?User(4,?"張4",?14);??
  26. ????????User[]?users?=?{user1,?user2,?user3,?user4};??
  27. ??????????
  28. ????????/*??
  29. ?????????*?將數組轉換為Json字符串?
  30. ?????????*?result:?
  31. ?????????*?[{"age":11,"id":1,"name":"張1"},{"age":12,"id":2,"name":"張2"},?
  32. ?????????*?{"age":13,"id":3,"name":"張3"},{"age":14,"id":4,"name":"張4"}]?
  33. ?????????*/??
  34. ????????String?userStr?=?JSON.toJSONString(users);??
  35. ??????????
  36. ????????/*?
  37. ?????????*?將Json字符串轉換為List?
  38. ?????????*?result?
  39. ?????????*?User?[id=1,?name=張1,?age=11]?
  40. ???????????User?[id=2,?name=張2,?age=12]?
  41. ???????????User?[id=3,?name=張3,?age=13]?
  42. ???????????User?[id=4,?name=張4,?age=14]?
  43. ?????????*/??
  44. ????????List<User>?userList?=?JSON.parseArray(userStr,?User.class);??
  45. ????????userList.stream().forEach(System.err::println);??
  46. ????}??
  47. ??????
  48. ????/**?
  49. ?????*?測試包裝類型的List轉換為json字符串?
  50. ?????*/??
  51. ????@Test??
  52. ????public?void?testList2String()?{??
  53. ????????List<Long>?longs?=?new?ArrayList<Long>();??
  54. ????????longs.add(1L);??
  55. ????????longs.add(2L);??
  56. ????????longs.add(3L);??
  57. ????????String?actual?=?JSON.toJSONString(longs);??
  58. ????????Assert.assertEquals("[1,2,3]",?actual);??
  59. ????}??
  60. ??
  61. }??

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451358.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451358.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451358.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WPF應用程序內嵌網頁

WPF應用程序內嵌網頁 原文:WPF應用程序內嵌網頁版權聲明&#xff1a;本文為博主原創文章&#xff0c;轉載請注明出處。 https://blog.csdn.net/shaynerain/article/details/78160984 WPF內嵌網頁&#xff0c;可以將網頁本地化&#xff0c;經查找相關資料后&#xff0c;決定采用…

iPhone iPad 各種控件默認高度

iPhone和iPad下各種常見控件的寬度和標準是一樣的&#xff0c;所以這里就用iPhone說明。 以下是常見的幾種控件的高度。Statusbar,Navigationbar和Tabbar的寬度極其圖標大小。 下表是更為詳細的參數&#xff0c;包括了Statusbar,Navigationbar、Tabbar、toolbar和Keyboard等等 …

子網/子網掩碼原理簡介

只有在一個網絡號下的計算機之間才能"直接"互通&#xff0c; IP地址是以網絡號和主機號來標示網絡上的主機的&#xff0c;只有在一個網絡號下的計算機之間才能"直接"互通&#xff0c;不同網絡號的計算機要通過網關&#xff08;Gateway&#xff09;才能互…

Map.putAll方法——追加另一個Map對象到當前Map集合

該方法用來追加另一個Map對象到當前Map集合對象&#xff0c;它會把另一個Map集合對象中的所有內容添加到當前Map集合對象。 語法 putAll(Map<? extends K,? extends V> m) m&#xff1a;一個Map集合對象。 典型應用 本示例創建一個Map集合對象&#xff0c;為它添加一…

Clipboard.js實現點擊自動復制內容的功能

Clipboard.js實現點擊自動復制內容的功能 點擊非文本框&#xff0c;自動復制&#xff0c;代碼如下value:<span id"bar" class"btn" data-clipboard-target"#bar">value</span> <script src"clipboard.min.js"></…

PLSQL的表窗口開啟(不小心把PLSQL的表窗口關了,在哪里打開)

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 菜單條---工具---瀏覽器。

Django的視圖層

一、視圖函數 一個視圖函數&#xff0c;簡稱視圖&#xff0c;是一個簡單的python函數&#xff0c;它接受Web請求并且返回Web響應。響應可以是一張網頁的HTML內容&#xff0c;一個重定向&#xff0c;一個404錯誤&#xff0c;一個XML文檔&#xff0c;或者一張圖片...是任何東西都…

技術債務真正的代價

無論你是否喜歡把它想成技術債務或是對沖期權&#xff0c;在我們的周圍都充斥著糟糕的代碼&#xff0c;糟糕的決定&#xff0c;以及這些東西給我們每天的生活帶來的影響。但是這些決定所帶來的長期影響會是什么&#xff1f;我們真的做了明智的選擇嗎&#xff1f;Martin Fowler談…

Java 8 Stream的性能到底如何?

Java 8提供的流的基于Lambda表達式的函數式的操作寫法讓人感覺很爽&#xff0c;筆者也一直用的很開心&#xff0c;直到看到了Java8 Lambda表達式和流操作如何讓你的代碼變慢5倍&#xff0c;筆者當時是震驚的&#xff0c;我讀書少&#xff0c;你不要騙我。瞬間我似乎為我的Serve…

【linux】使用swap文件恢復非正常關閉的文件

前言 使用vim的時候&#xff0c;文件編輯過程中可能會出現bug&#xff0c;導致非正常關閉。為了保存剛剛修改的內容&#xff0c;需要對文件進行恢復。 操作過程 1.查看目錄文件 zrjzrj-ThinkPad-E470:~/work/code/facedetection/src$ ll total 48 drwxrwxr-x 2 xxx xxx 4096 S…

js中比較時間字串大小

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 var start Date.parse($("#str_atBeginDate").val().replace("-","/"));var end Date.parse($("#…

MySQL運維系列 之 如何監控大事務

long transaction背景 大家有沒有遇到這樣的情況 某個SQL執行特別慢&#xff0c;導致整個transaction一直處于running階段某個Session的SQL已經執行完了&#xff0c;但是遲遲沒有commit&#xff0c;一直處于sleep階段某個Session處于lock wait階段&#xff0c;遲遲沒有結束以上…

再見騰訊,創業我來了!!!

發現好久沒有更新博客了&#xff0c;確實自從進了騰訊以后博客寫的寥寥無幾&#xff0c;一來是忙&#xff0c;而來是寫博客沒以前那么有成就感了。但是今天在半夜我又鬼使神差的想寫了&#xff0c;因為尼瑪歐冠巴薩 VS AC米蘭還有將近一個小時&#xff0c;哥實在是等的蛋疼。有…

“docker-app”實用工具分享,大大提高 Compose 文件復用率

本文首發自“Docker公司”公眾號&#xff08;ID&#xff1a;docker-cn&#xff09;編譯丨小東每周一、三、五 與您不見不散&#xff01; Docker Compose 在開發人員中非常流行&#xff0c;它用來描述應用程序。目前&#xff0c;GitHub 上有超過30萬個 Docker Compose 文件。通過…

9.11學習筆記

備注&#xff1a; <span class"kp"> <a href""></a></san>a 是特殊的 要改變a里面的顏色&#xff0c;必須直接給a設置&#xff0c;給a的父級設置不行 屬性繼承&#xff1a;明明是父級上設置樣式&#xff0c;結果后代標簽也跟著發生…

bootstrap-validator 驗證一個標簽同時驗證另一個指定標簽

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 如圖 驗證 str_atBeginDate 同時把 str_atTermDate 也作一次驗證&#xff1a; 注意 紅框中 " value “ 不能少&#xff0c;我之…

solr基本查詢和高級查詢

查詢參數常用&#xff1a; q - 查詢字符串&#xff0c;必須的。fl - 指定返回那些字段內容&#xff0c;用逗號或空格分隔多個。start - 返回第一條記錄在完整找到結果中的偏移位置&#xff0c;0開始&#xff0c;一般分頁用。rows - 指定返回結果最多有多少條記錄&#xff0c;配…

送給“苦逼”的IT人系列

送給“苦逼”的IT人系列1&#xff1a;IT人的“錢”景以及收入的兩道坎 雖然IT工作五花八門&#xff0c;而且年紀有老有少&#xff0c;但IT人的收入總體還是比較有規律的&#xff0c;很明顯的可以看出有兩道坎&#xff0c;分別是10W&#xff0c;和30W&#xff0c;當然&#xff…

銳動SDK應用于行車記錄儀

方案架構手機端直播與錄播功能忠實記錄旅途中各種突發事件&#xff0c;還原事實真相&#xff0c;與家人和朋友分享沿途美景&#xff0c;一同感受美妙之旅。強大的視頻編輯功能&#xff0c;像編輯圖片一樣給視頻添加各種濾鏡&#xff0c;配音&#xff0c;配樂&#xff0c;標題文…

Angular4 存儲訪問路由棧信息

一、實現方法1.可以通過路由守衛&#xff0c;可以給父級路由添加&#xff0c;若無父級路由&#xff0c;則需要每個路由都需要添加守衛&#xff0c;即每個頁面都需要調該方法例如&#xff1a;jdb-app端上的tool.service.ts是每個頁面都會調取的方法&#xff0c;可以將監聽路由函…