Fastjson可以處理多種數據對象,您可以將大型對象和大型json文本添加到軟件處理,可以直接將Java轉換為json,也可以將json轉換Java對象,適合經常使用Java編程的朋友使用,大部分文本類型都可以處理,時間期格式也可以在軟件處理,支持使用format配置期格式化,配置date序列化和反序列使用yyyyMMdd期格式,提供了使用注釋定制序列化和反序列化的功能,可以對Java配置序列化方案;Fastjson是阿里巴巴提供的開源軟件,您可以將其運行到自己的上,為用戶轉換Java對象提供幫助!
Fastjson軟件功能
Fastjson是一個Java庫,可用于將Java對象轉換為其ON表示形式。它也可以用于將ON字符串轉換為等效的Java對象。Fastjson可以與任意Java對象一起使用,包括您沒有源代碼的預先存在的對象。
Fastjson的目標:
在端和安卓客戶端提供最好的能
提供簡單的toONStng()和parseObject()方法,將Java對象轉換成ON,反之亦然。
允許將預先存在的不可修改的對象轉換為ON,或從ON中轉換。
對Java泛型的廣泛支持
允許自定義對象的表示方法
支持任意復雜的對象(具有深厚的繼承層次和廣泛使用的通用類型)
Fastjson軟件特色
1、速度快
fastjson相對其他ON庫的特點是快,從2011年fastjson發布1.1.x版本之后,其能從未被其他Java實現的ON庫超越。
2、使用廣泛
fastjson在阿里巴巴大規模使用,在數萬臺上部署,fastjson在業界被廣泛接受。在2012年被開源評選為最受歡迎的國產開源軟件之一。
3、測試完備
fastjson有非常多的testcase,在1.2.11版本中,testcase超過3321個。每次發布都會進行回歸測試,保證質量穩定。
4、使用簡單
fastjson的API十分簡潔。
Stng text = ON.toONStng(obj); //序列化
VO vo = ON.parseObject(“{…}”, VO.class); //反序列化
5、功能完備
支持泛型,支持流處理超大文本,支持枚舉,支持序列化和反序列化擴展。
Fastjson使用說明
在Spng中集成Fastjson
在Spng MVC中集成Fastjson
如果您使用Spng MVC來構建Web應用程序能有更高的要求的話,可以使用Fastjson提供的FastJsonHttpMessageConverter來替換Spng MVC默認的HttpMessageConverter 以提高@RestContller @ResponseBody @RequestBody注釋解的ON序列化速度。下面是配置方式,非常簡單。
XML樣式
如果是使用XML的方式配置Spng MVC的話,只需在Spng MVC的XML配置文件中加入以下配置即可。
通常通常配置已經可以滿足大部分使用場景,如果你想對它進行自定義配置的話,你可以添加FastJsonConfigBean。
編程式
如果是使用編程的方式(通常是基于Spng Boot項目)配置Spng MVC的話只需繼承WebMvcConfigurerAdapter覆寫configureMessageConverters方法即可,就像下面這樣。
注:如果您使用的Fastjson版本小于1.2.36的話(強烈建議使用最新版本),在與Spng MVC 4.X版本集成時需使用FastJsonHttpMessageConverter4。
注2:SpngBoot 2.0.1版本中加載WebMvcConfigurer的順序發生了變化,故需使用converters.add(0, converter);指定FastJsonHttpMessageConverter在轉換器內部的順序,否則在SpngBoot 2.0.1及之后的版本中將優先使用Jackson處理
對ONP支持
使用注解@ResponseONP修飾類或具體方法:
XML樣式
bean id = “ jsonpResponseBodyAdvice ” class = “ com.alibaba.fastjson.support.spng.ONPResponseBodyAdvice ” />
編程式
在Spng Data Redis中集成Fastjson
通常我們在Spng中使用Redis是通過Spng Data Redis提供的RedisTemplate來進行的,如果你準備使用ON作為對象序列/反序列化的方式串行序列化速度有更高的要求的話,建議使用Fastjson提供的GenecFastJsonRedisSealizer或FastJsonRedisSealizer作為RedisTemplate的RedisSealizer。下面是配置方式,非常簡單。
XML樣式
如果是使用XML的方式配置Spng Data Redis的話,只需將RedisTemplate中的替換Sealizer為GenecFastJsonRedisSealizer即可。
下面是完整的Spng集成Redis配置供參考。
編程式
如果是使用編程的方式(通常是基于Spng Boot項目)配置RedisTemplate的話直接在你的配置類(被@Configuration注解修飾的類)中顯式創建RedisTemplateBean,設置Sealizer即可。
通常使用GenecFastJsonRedisSealizer即可滿足大部分場景,如果你想定義特定類型專用的RedisTemplate可以使用FastJsonRedisSealizer來代替GenecFastJsonRedisSealizer,配置是類似的。