更新時間:2019-02-13 10:19 來源:動力節(jié)點 瀏覽12546次
JSON在實際項目的開發(fā)中使用非常廣泛,作為數(shù)據(jù)傳遞的載體,如何解析和處理JSON格式的數(shù)據(jù)是對開發(fā)人員的基礎(chǔ)要求,下面我們介紹在實際項目開發(fā)中常用的四種JSON解析和處理工具。
1.Json-lib
Json-lib是一個開源的java類庫,它用于把beans, maps, collections, java arrays and XML 轉(zhuǎn)換成Json或者反過來把Json來轉(zhuǎn)換成beans, maps, collections, java arrays and XML,即用于處理JSON格式的數(shù)據(jù),包括生成和解析過程,它是最早的一個用戶解析和處理JSON數(shù)據(jù)的類庫,雖然已經(jīng)比較老了,但目前在很多項目中依然能見到它的身影,而且大量的老項目都采用了該類庫。
2、Jackson
Jackson是一個開源的基于Java的json解析和處理類庫,它可以輕松的將Java對象轉(zhuǎn)換成json對象或xml文檔,同樣也可以將json對象或xml文檔轉(zhuǎn)換成Java對象,它簡單易用并且性能優(yōu)秀,Jackson社區(qū)相對活躍,更新速度也較快,在Spring mvc框架默認也采用了該類庫進行json格式的輸出。
3、GSON
GSON是Google開發(fā)的一款開源的JSON解析處理類庫,用于轉(zhuǎn)換Java對象和Json對象,即主要用途為序列化Java對象為JSON字符串,或反序列化JSON字符串成Java對象。
GSON的特點:
a、快速、高效
b、代碼量少、簡潔
c、面向?qū)ο?/span>
d、數(shù)據(jù)傳遞和解析方便
4、FastJSON
fastjson是阿里巴巴開源的JSON解析類庫,用于解析和處理JSON格式的數(shù)據(jù),支持將Java Bean序列化為JSON字符串,也可以將JSON字符串反序列化成JavaBean。
fastjson的優(yōu)點
1 速度快
fastjson相對其他JSON庫的特點就是快,從2011年fastjson發(fā)布1.1.x版本之后,其性能從未被其他Java實現(xiàn)的JSON庫超越。
2 使用廣泛
fastjson在阿里巴巴大規(guī)模使用,在數(shù)萬臺服務器上部署,fastjson在業(yè)界被廣泛使用,在業(yè)界被評選為最受歡迎的國產(chǎn)開源軟件之一。
3 測試完備
fastjson有非常多的testcase,在1.2.11版本中,testcase超過3321個,每次發(fā)布都會進行回歸測試,保證質(zhì)量穩(wěn)定。
4 使用簡單
fastjson的API十分簡潔。
String text = JSON.toJSONString(obj); //序列化
VO vo = JSON.parseObject("{...}", VO.class); //反序列化
5 功能完備
支持泛型,支持流處理超大文本,支持枚舉,支持序列化和反序列化擴展。