Java、Json转换方式之三:Fastjson

前面说Jackson是同等框架中最快的,现在要承认自己的错误了。强中更有强中手,这不,阿里巴巴整出来一个Fastjson,竟然比Jackson还快。Java序列化在性能上已经是糟糕透顶,看来以后的序列化还是使用json数据比较好。下面是jvm-serialize测试结果:

序列化时间 反序列化时间 大小 压缩后大小
java序列化 8654 43787 889 541
hessian 6725 10460 501 313
protobuf 2964 1745 239 149
thrift 3177 1949 349 197
avro 3520 1948 221 133
json-lib 45788 149741 485 263
jackson 3052 4161 503 271
fastjson 2595 1472 468 251

这个测试当然不是我做的,参看:http://wenshao.iteye.com/blog/1142031

Fastjson的文档非常全面,而且API友好,学习地址:http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=2424946

这里也就不详细讲解其使用了,只是举个例子,看一下Fastjson的强大之处,作为抛砖引玉:
复制代码

    Person person = new Person();
    person.setAge(18);
    person.setName("li");
    person.setHappy("finery");
    Map map = new HashMap();
    map.put("age", 18);
    map.put("name", "li");
    List list = new ArrayList();
    list.add(person);
    list.add(map);
    String json = JSON.toJSONString(list, SerializerFeature.UseSingleQuotes);
    // json =
    // [{'age':18,'happy':'finery','name':'li'},{'age':18,'name':'li'}]

    list = JSON.parseArray(json, new Type[] { Person.class, Map.class });
    for (Object object : list) {
        System.out.println(object.toString());
    }
    // 输出:Person [name=li, age=18, happy=finery]
    // {name=li, age=18}

复制代码

使用简单,功能强大,性能卓越,是Fastjson的主要特点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值