成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

解析Json更快的Gson的APT版本開(kāi)源庫(kù)

since1986 / 1866人閱讀

摘要:分享一個(gè)的版本開(kāi)源庫(kù)給大家這個(gè)庫(kù)的使用方法和原生的的使用方式基本一樣但是因?yàn)槭褂昧硕菇馕鲂实玫搅颂岣邘?kù)的地址使用方法導(dǎo)入庫(kù)這個(gè)庫(kù)是開(kāi)源的建議直接拷貝和兩個(gè)進(jìn)入自己工程。

分享一個(gè)Gson的APT版本開(kāi)源庫(kù)給大家

這個(gè)庫(kù)的使用方法和原生的Gson的使用方式基本一樣,但是因?yàn)槭褂昧薃PT(Annotation Processing Tool)而使解析效率得到了提高
GsonAPT庫(kù)的地址

使用方法:

1 導(dǎo)入庫(kù)

這個(gè)庫(kù)是開(kāi)源的: 建議直接拷貝:gsonaptannotation和gsonaptcomplier兩個(gè)module進(jìn)入自己工程。
接著:
dependencies {

...
compile project(":gsonaptannotation")

apt project(":gsonaptcomplier")
}

2 添加@Jsonbean到自己希望解析的相關(guān)類(lèi)上
@JsonBean
public class LittleBean {
    String littleBeanName;

    public String getLittleBeanName() {
        return littleBeanName;
    }

    public void setLittleBeanName(String littleBeanName) {
        this.littleBeanName = littleBeanName;
    }

    public LittleBean() {
    }

    public LittleBean(String littleBeanName) {
        this.littleBeanName = littleBeanName;
    }
}
3 編譯工程

編譯后會(huì)生成GsonAPT類(lèi)

4 使用GsonAPT代替new Gson()
TestBean testBean = new TestBean();
String str = GsonAPT.toJson(testBean);
testBean = GsonAPT.fromJson(str,TestBean.class);

Map map = new HashMap<>();
map.put(9, new OtherBean(""));
map.put(1, new OtherBean(null));
String mapStr = GsonAPT.toJson(map);
map = GsonAPT.fromJson(mapStr,new TypeToken>() {
}.getType());

引用測(cè)試結(jié)果

How fast

how much time to parse the small bean:

times Gson toJson GsonAPT toJson Gson fromJson GsonAPT fromJson
10 3 1 10 1
10000 738 363 883 756
100000 8361 4420 10616 9346

how much time to parse the big bean:

times Gson toJson GsonAPT toJson Gson fromJson GsonAPT fromJson
1 673 325 811 700
10 7748 3740 9506 8182
times Gson toJson Speed / GsonAPT toJson Speed
10000(small) 49%
100000(small) 52%
1(big) 48%
10(big) 48%
times Gson fromJson Speed / GsonAPT fromJson Speed
10000(small) 86%
100000(small) 88%
1(big) 86%
10(big) 86%
注意點(diǎn)

@JsonBean的相關(guān)類(lèi)的字段需要有g(shù)et/set方法或者是 public或包訪(fǎng)問(wèn)的

和默認(rèn)的Gson一樣,不能解析非靜態(tài)的內(nèi)部類(lèi)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69872.html

相關(guān)文章

  • 追蹤解析Gson源碼(1)

    摘要:版本版本簡(jiǎn)介是谷歌開(kāi)源的解析工具。其實(shí)幾款產(chǎn)品的差別都很細(xì)微,有谷歌的信仰加成,所以在這里進(jìn)行一次源碼分析。至于和會(huì)在后續(xù)進(jìn)行追蹤。 零 前期準(zhǔn)備 0 FBI WARNING 文章異常啰嗦且繞彎。 1 版本 Gson 版本 : gson 2.8.5 IDE : idea 2018.3 2 Gson 簡(jiǎn)介 Gson 是谷歌開(kāi)源的 java json 解析工具。市場(chǎng)上同類(lèi)的開(kāi)源產(chǎn)品還有 F...

    sewerganger 評(píng)論0 收藏0
  • Android干貨框架集錦,搭建項(xiàng)目必不可少

    摘要:最佳解析最佳解析最佳解析是一個(gè)依賴(lài)注入框架,由谷歌開(kāi)發(fā),最早的版本由公司開(kāi)發(fā)。在對(duì)的介紹中指出,即,這里的即數(shù)據(jù)結(jié)構(gòu)中的有向無(wú)環(huán)圖。也就是說(shuō),是一個(gè)基于有向無(wú)環(huán)圖結(jié)構(gòu)的依賴(lài)注入庫(kù),因此的使用過(guò)程中不能出現(xiàn)循環(huán)依賴(lài)。 在開(kāi)發(fā)過(guò)程中使用過(guò)很多優(yōu)秀框架,比如網(wǎng)絡(luò)的okhttp,圖片的Fresco,注入的Gagger2等,都是非常優(yōu)秀的框架。 所以今天在此介紹下至今本人知道的一些比較流行主流且...

    zhisheng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<