fastjson有什么用?fastjson的性能如何?

阳光 2021-04-02 16:51:50 java常见问答 4983

fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,已经被广泛使用在各种场景,那fastjson有什么用?接下来我们就来给大家讲解一下这方面的内容。

Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。

Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。

Fastjson 特性:

提供服务器端、安卓客户端两种解析工具,性能表现较好。

提供了 toJSONString() 和 parseObject() 方法来将 Java 对象与 JSON 相互转换。调用toJSONString方 法即可将对象转换成 JSON 字符串,parseObject 方法则反过来将 JSON 字符串转换成对象。

允许转换预先存在的无法修改的对象(只有class、无源代码)。

Java泛型的广泛支持。

允许对象的自定义表示、允许自定义序列化类。

支持任意复杂对象(具有深厚的继承层次和广泛使用的泛型类型)。

fastjson的性能如何?

fastjson是目前java语言中最快的json库,比自称最快的jackson速度要快,第三方独立测试结果看这里:fastjson性能对比 。

自行做性能测试时,关闭循环引用检测的功能。

JSON.toJSONString(obj, SerializerFeature.DisableCircularReferenceDetect)VO vo 
= JSON.parseObject("...", VO.class, Feature.DisableCircularReferenceDetect)

你可以通过如下地方下载fastjson:

maven中央仓库: http://central.maven.org/maven2/com/alibaba/fastjson/

Sourceforge.net : https://sourceforge.net/projects/fastjson/files/

在maven中如何配置fastjson依赖 fastjson最新版本都会发布到maven中央仓库,你可以直接依赖。

<dependency >
    <groupId>com.alibaba</groupId> <
    artifactId > fastjson < /artifactId> <
    version > 1.2 .21 < /version> <
    /dependency>

android版本:

<dependency >
    <groupId>com.alibaba</groupId> <
    artifactId > fastjson < /artifactId> <
version > 1.1 .55.android < /version> < /
    dependency >

fastjson主要的API哪些?

fastjson入口类是com.alibaba.fastjson.JSON,主要的API是JSON.toJSONString,和parseObject。

package com.alibaba.fastjson;
public abstract class JSON
{
    public static final String toJSONString(Object object);
    public static finalT parseObject(String text, Classclazz, Feature...features);
}

序列化:

String jsonString = JSON.toJSONString(obj);

反序列化:

VO vo = JSON.parseObject("...", VO.class);

泛型反序列化:

import com.alibaba.fastjson.TypeReference;
Listlist = JSON.parseObject("...", new TypeReference < list > ()
{});

fastjson相对其他JSON库的特点是快,并且fastjson在阿里巴巴大规模使用,因为支持泛型,支持流处理超大文本,总体来说优点还是很多的。最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。

推荐阅读:

json文件怎么导入数据库?实例介绍

fastjson怎么开启autotype?AutoType功能使用

eclipse双击文件打不开怎么办?