zoukankan      html  css  js  c++  java
  • JAVA 几款Json library的比较

    JSON是JavaScript object notation的缩写,是一种轻量级的描述数据的方式,与XML相比,它更小更快更易解析,此外,JSON还具有跨平台的优势。这下面这篇文章我们将要比较7种Java JSON库,我们将测量做Java和JSON对象的相互转换,存取Json对象到文件的速度。

    Jackson Library

    Jackson是一种“多目的的Java库,它的目标是更快,更轻,更易用”,此外他还提供了3种方法来处理JSON格式

    1. 流式API: 能够增量解析/生成JSON

    2. 树形模型:在内存中以树形结构来描述JSON文档

    3. 数据绑定:JSON与POJO相互转换

    Goole-Gson Library

    第二个是Gson,它也支持JSON与Java对象的相互转换,并请求支持符合JSON格式的String直接转到JAVA对象而不需要放annotation。

    GSON的优点是

    1. 提供一个toJson()和fromJson()方法实现JAVA与JSON对象的互转,非常方便

    2. 支持JAVA泛型

    3. 支持任意复杂的对象

    4. allow pre-existing unmodifiable objects to be converted to and from JSON

    5. allow custom representation for objects

    后面几个JSON库都是无名氏,在下面的图里你会看到他们的名字

    基准

    我们的测试机器配置为

    2.5GHz I5 处理器,Win7 64位,4GB DDR3内存

    下面这几幅图画出了集中json库的表现

    上图可以看出,序列化和反序列化小数据时,Gson都是最快的

    在序列化反序列化大一点的数据时,Gson的成绩倒是不出彩,Jackson表现更好

    对于手机用户而言,jar包的大小也很重要,从下图可以看出,Gson jar包相当之小

    结论

    对于小规模的数据,Gson表现更好,对于大规模数据Jackson更快

  • 相关阅读:
    OpenJudge 2753 菲波那契数列
    Jmeter的介绍、安装及汉化
    spring集成Java性能监控调优工具-Javamelody
    js-xlsx + handsontable + echarts实现excel上传编辑然后显示成图表
    spring mybatis设置SQL语句打印
    Ribbon负载均衡策略详解
    JVM内存结构、Java内存模型以及Java对象模型之间的区别
    Java的自动拆装箱
    elasticsearch集群管理指南
    ElasticSearch最全分词器比较及使用方法
  • 原文地址:https://www.cnblogs.com/zhouzhuo/p/4109046.html
Copyright © 2011-2022 走看看