工作中經(jīng)常要用到Json蛙奖、JavaBean潘酗、Xml之間的相互轉(zhuǎn)換,用到了很多種方式雁仲,這里做下總結(jié)仔夺,以供參考。現(xiàn)在主流的轉(zhuǎn)換工具有Json-lib攒砖、Jackson缸兔、Fastjson、Gson等吹艇,我為大家一一做簡單介紹惰蜜,主要還是以代碼形式貼出如何簡單應(yīng)用這些工具的,更多高級功能還需大家深入研究受神。首先是json-lib抛猖,算是很早的轉(zhuǎn)換工具了,用的人很多鼻听,說實在現(xiàn)在完全不適合了财著,缺點比較多,依賴的第三方實在是比較多撑碴,效率低下撑教,API也比較繁瑣,說他純粹是因為以前的老項目很多人都用到它醉拓。不廢話伟姐,開始上代碼收苏。
參考資料
JOSN
- 對象表示為鍵值對
- 數(shù)據(jù)由逗號分隔
- 花括號保存對象
- 方括號保存數(shù)組
FastJson
簡介
jackson一直很主流,社區(qū)和文檔支持也很充足愤兵,但有人還是嫌它不夠快倒戏,不夠簡潔,于是便有了fastjson恐似,看名字就知道它的主要特點就是快,可能在功能和其他支持方面不能和jackson媲美傍念,但天下武功矫夷,唯快不破,這就決定了fastjson有了一定的市場憋槐。不解釋双藕,直接上代碼。
maven依賴
<!-- fastjson依賴添加-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.31</version>
</dependency>
使用優(yōu)點
- 依賴少
使用缺點
只有json和javaBean直接的相互轉(zhuǎn)換阳仔,沒有xml的轉(zhuǎn)換忧陪,真可惜。
使用案例
Jackson
簡介
maven依賴
<!-- fastjson依賴添加-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.0.pr3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0.pr3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0.pr3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.8.10</version>
</dependency>
使用優(yōu)點
使用缺點
使用案例
Gson
簡介
maven依賴
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
使用優(yōu)點
使用缺點
使用案例
Json-lib
簡介
首先是json-lib近范,算是很早的轉(zhuǎn)換工具了嘶摊,用的人很多,說實在現(xiàn)在完全不適合了评矩,缺點比較多叶堆,依賴的第三方實在是比較多,效率低下斥杜,API也比較繁瑣虱颗,說他純粹是因為以前的老項目很多人都用到它。不廢話蔗喂,開始上代碼忘渔。
maven依賴
<!-- for json-lib -->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>xom</groupId>
<artifactId>xom</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.1</version>
</dependency>
使用優(yōu)點
使用缺點
使用案例
Staxon
簡介
介紹下json和xml之間不依賴javaBean直接相互轉(zhuǎn)換的工具staxon,相比很多時候大家都想動態(tài)的將json和xml相互轉(zhuǎn)換卻不依賴其他javaBean缰儿,自己寫真的是很麻煩畦粮,要人命,用jackson等其他轉(zhuǎn)換工具時結(jié)果都不是我想要的返弹。
maven依賴
<!-- https://mvnrepository.com/artifact/de.odysseus.staxon/staxon -->
<dependency>
<groupId>de.odysseus.staxon</groupId>
<artifactId>staxon</artifactId>
<version>1.3</version>
</dependency>