本章介紹
? ? ? ? ? ? fastJson是阿里巴巴旗下的一個開源項目之一,顧名思義它專門用來做快速操作Json的序列化與反序列化的組件浙滤。它是目前json解析最快的開源組件沒有之一!在這之前jaskJson是命名為快速操作json的工具肤京,而當(dāng)阿里巴巴的fastJson誕生后jaskjson就消聲匿跡了找筝,不過目前很多項目還在使用。
本章目標(biāo)
? ? ? ? 將fastJson加入到SpringBoot項目內(nèi)畜伐,配置json返回視圖使用fastJson解析。
一躺率、配置SpringBoot對FastJson的支持
? ? ? ? 注意:上一章節(jié)我們已經(jīng)添加了fastJson的jar玛界,本章我們主要看一下配置fastjson的返回視圖万矾,配置代碼如圖一所示:
添加完成依賴后我們把上一章的實體類、控制器慎框、JPA復(fù)制到我們當(dāng)前項目下良狈,我們就不重復(fù)講解如何創(chuàng)建這些簡單的實體類了。如下圖2所示:
? ? ? ? 接下來創(chuàng)建一個FastJsonConfiguration配置信息類笨枯,添加@Configuration注解讓SpringBoot自動加載類內(nèi)的配置薪丁,有一點要注意我們繼承了WebMvcConfigurerAdapter這個類,這個類是SpringBoot內(nèi)部提供專門處理用戶自行添加的配置馅精,包含了修改視圖的過濾還有其他很多的方法严嗜。
fastJson視圖過濾配置詳細(xì)內(nèi)容如下圖3所示:
上述圖3 內(nèi)fastJson配置實體調(diào)用setSerializerFeatures方法可以配置多個過濾方式。
最后運(yùn)行項目
? ? ? ? 經(jīng)過上述的配置我們基本完成對了SpringBoot整合FastJson的內(nèi)容洲敢,我們接下來嘗試運(yùn)行下項目漫玄,如下圖4所示:
可以看到我們的項目正常運(yùn)行了,压彭,我們訪問之前編寫的查詢列表的請求睦优,看是否給我返回了相應(yīng)的數(shù)據(jù),訪問地址:127.0.0.1:8080/user/list壮不,接下來修改FastJsonConfiguration類內(nèi)的setSerializerFeatures方法刨秆,再添加一個配置WriteNullStringAsEmpty,我們再次重啟項目訪問用戶列表地址效果如何忆畅?修改配置如下圖5所示:
我們?yōu)?"的address字段設(shè)置了NULL,返回視圖如圖六所示:
總結(jié)
上面我們本章的全部講解內(nèi)容,本章主要講解了SpringBoot項目如何將返回的消息從內(nèi)部的Json轉(zhuǎn)換變成fastJson轉(zhuǎn)換尸执,如何添加fastJson的轉(zhuǎn)換器過濾配置SerializerFeature家凯。因為@RestControll注解的Controller本身返回值就是json字符串,也可以@Controller和@ResponseBody配合返回json如失,我們上述fastJson過濾器配置所有過程绊诲。