FastJson,Gson的并行使用

简介:

  1. FastJson是阿里巴巴基于java语言编写的一个高性能JSON处理工具,FastJson采用独创的“假定有序快速匹配”算法,将解析parse的速度做到了极致,被认为是超过了各大JSON库,现在基本很多公司都在使用。
  2. Gson是由谷歌为了适应内部需求开发的一款JSON处理工具,被认为是功能最全的JSON解析神器,在对象解析之前提前将对象的类型和成员信息进行创建,然后将JSON成功转化成对应的对象,功能方面可谓是非常全面,但是性能方面可能相比FastJson有一定的差距。

小知识点:

FastJson  :FastJson序列化,反序列化是根据我们属性中get方法进行属性区分,在我们设置属性名时候我们需要注意isXXX尽量避免,当我们是基本类型boolean时候,我们生成的方法是isXXX和set方法,然而我们是Boolean类型时候,将生成get和set方法,所以这将影响我们JSON解析,阿里巴巴也是禁止开发人员使用此类进行属性起名。

package com.jedis.test;

/**
 * @author 枝间
 * @date 2019-05-10
 * @description 样本
 */
public class Demo {

    private boolean isSuccess;
    private Boolean isSuccess;

    public boolean isSuccess() {
        return isSuccess;
    }

    public void setSuccess(boolean success) {
        isSuccess = success;
    }

    public Boolean getSuccess() {
        return isSuccess;
    }

    public void setSuccess(Boolean success) {
        isSuccess = success;
    }
}

Gson:Gson序列化,反序列化是根据我们属性名字进行解析,在解析之前先将我们属性类型进行创建,通过反射工具进行对应属性映射解析。

使用推荐:

在日常使用我们可能都有序列化和反序列化,对于两者选择我们可以并行的使用

对象转成JSON可以使用 Gson,速度也比较块,FastJson之前版本出现过一些对象向JSON解析的bug

JSON转成对象我们可以使用FastJson,网上测试相比于Gson较快

总结    抛弃对象推荐Gson,找对象推荐FastJson

你可能感兴趣的:(java基础,技术分享)