例舉fastJson和jackson轉(zhuǎn)json的區(qū)別
首先舉個(gè)fastJson和jackson轉(zhuǎn)json的例子,然后對(duì)比兩種的區(qū)別
例子1:
{
"statusCode": 800,
"returnObj": {
"hzOrderId": 14,
"orderId": 2015111311521900000,
"orderSendPlanId": 67
}
}
1、jackson-ObjectMapper轉(zhuǎn)json
上面是一個(gè)json字符串,有兩層,一層是最外面的,一層是returnObj
這種方式轉(zhuǎn)換json,特點(diǎn)是兼容性高,對(duì)于部分特殊字符也能轉(zhuǎn)換成功。 而且:轉(zhuǎn)換的時(shí)候是逐級(jí)轉(zhuǎn)換,也就是說(shuō),無(wú)論你json字符串有多少層次,他都會(huì)轉(zhuǎn)換成Object或者Map
上面的轉(zhuǎn)換結(jié)果:returnObj里面也會(huì)被轉(zhuǎn)成Map
2、fastJson轉(zhuǎn)換,這里就簡(jiǎn)單寫一個(gè)轉(zhuǎn)換
rest= JSON.parseObject(result, JsonRESTResult.class); HZorder hz = JsonUtils.fromJson(rest.getReturnObj().toString(), HZorder.class);
這種方式轉(zhuǎn)換,特點(diǎn):簡(jiǎn)單明了,但是對(duì)于部分特殊字符無(wú)法轉(zhuǎn)換(比如html標(biāo)簽+文件特殊符號(hào)),還有個(gè)特點(diǎn):他是直接轉(zhuǎn)換的,而不是逐層轉(zhuǎn)換。也就是說(shuō),針對(duì)例子1的json字符串,只會(huì)轉(zhuǎn)換最外層為Object, 至于returnObj, 仍然還是json字符串,而不會(huì)轉(zhuǎn)換成Map。當(dāng)你需要直接用的時(shí)候,還需要繼續(xù)轉(zhuǎn)換一次
兩種方法各有千秋,可根據(jù)適用場(chǎng)景來(lái)決定用哪種,也可以兩種合用
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
基于指針pointers和引用references的區(qū)別分析
本篇文章介紹了,基于指針pointers和引用references的區(qū)別分析。需要的朋友參考下2013-05-05
SpringBoot文件上傳與下載功能實(shí)現(xiàn)詳解
文件上傳與下載是Web應(yīng)用開發(fā)中常用的功能之一。接下來(lái)我們將討論如何在Spring?Boot的Web應(yīng)用開發(fā)中,如何實(shí)現(xiàn)文件的上傳與下載,感興趣的可以了解一下2022-10-10
Java實(shí)現(xiàn)按照大小寫字母順序排序的方法
這篇文章主要介紹了Java實(shí)現(xiàn)按照大小寫字母順序排序的方法,涉及java數(shù)組遍歷、編碼轉(zhuǎn)換、判斷等相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
Spring+Hibernate+Struts(SSH)框架整合實(shí)戰(zhàn)
SSH是 struts+spring+hibernate的一個(gè)集成框架,是目前比較流行的一種Web應(yīng)用程序開源框架。本篇文章主要介紹了Spring+Hibernate+Struts(SSH)框架整合實(shí)戰(zhàn),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-04-04

