资讯专栏INFORMATION COLUMN

解析Json更快的Gson的APT版本开源库

since1986 / 1656人阅读

摘要:分享一个的版本开源库给大家这个库的使用方法和原生的的使用方式基本一样但是因为使用了而使解析效率得到了提高库的地址使用方法导入库这个库是开源的建议直接拷贝和两个进入自己工程。

分享一个Gson的APT版本开源库给大家

这个库的使用方法和原生的Gson的使用方式基本一样,但是因为使用了APT(Annotation Processing Tool)而使解析效率得到了提高
GsonAPT库的地址

使用方法:

1 导入库

这个库是开源的: 建议直接拷贝:gsonaptannotation和gsonaptcomplier两个module进入自己工程。
接着:
dependencies {

...
compile project(":gsonaptannotation")

apt project(":gsonaptcomplier")
}

2 添加@Jsonbean到自己希望解析的相关类上
@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 编译工程

编译后会生成GsonAPT类

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());

引用测试结果

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%
注意点

@JsonBean的相关类的字段需要有get/set方法或者是 public或包访问的

和默认的Gson一样,不能解析非静态的内部类

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69872.html

相关文章

  • 追踪解析Gson源码(1)

    摘要:版本版本简介是谷歌开源的解析工具。其实几款产品的差别都很细微,有谷歌的信仰加成,所以在这里进行一次源码分析。至于和会在后续进行追踪。 零 前期准备 0 FBI WARNING 文章异常啰嗦且绕弯。 1 版本 Gson 版本 : gson 2.8.5 IDE : idea 2018.3 2 Gson 简介 Gson 是谷歌开源的 java json 解析工具。市场上同类的开源产品还有 F...

    sewerganger 评论0 收藏0
  • Android干货框架集锦,搭建项目必不可少

    摘要:最佳解析最佳解析最佳解析是一个依赖注入框架,由谷歌开发,最早的版本由公司开发。在对的介绍中指出,即,这里的即数据结构中的有向无环图。也就是说,是一个基于有向无环图结构的依赖注入库,因此的使用过程中不能出现循环依赖。 在开发过程中使用过很多优秀框架,比如网络的okhttp,图片的Fresco,注入的Gagger2等,都是非常优秀的框架。 所以今天在此介绍下至今本人知道的一些比较流行主流且...

    zhisheng 评论0 收藏0

发表评论

0条评论

since1986

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<