加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

fastjson文档解读——上篇

发布时间:2020-12-16 19:03:03 所属栏目:百科 来源:网络整理
导读:没事翻翻fastjson文档,结合网上资料,了解了解fastjson。上篇主要是解读com.alibaba.fastjson.JSON类。 fastjson主要特点: fastjson速度非常快,它采用了独特的算法,把parse(解析)的速度提升到了极致,包括曾经号称最快的jackson(不知道jackson当年装

没事翻翻fastjson文档,结合网上资料,了解了解fastjson。上篇主要是解读com.alibaba.fastjson.JSON类。

fastjson主要特点:

fastjson速度非常快,它采用了独特的算法,把parse(解析)的速度提升到了极致,包括曾经号称最快的jackson(不知道jackson当年装这个逼的时候有没有想到会被阿里打脸),并且还超越了google的二进制协议protocol buf。还可以依赖多种java类型,比如常见的java八大基本类型、java bean、集合Collection的所有实现类、Enum枚举、泛型等。在支持多个类型的同时,不需要引用或依赖太多的jar包。而且支持很多环境,包括JDK5、JDK6、Andriod、阿里云手机(阿里出的json包当然要支持阿里云手机了,自家兄弟)。

使用fastjson:

下载:http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/

项目中直接导入即可。

若使用mava依赖:maven repository

<repository>

<id>opensesame</id>

<name>Alibaba OpenSource Repsoitory</name>

<url>http://code.alibabatech.com/mvn/releases/</url>

<snapshots>

<enabled>false</enabled>

</snapshots>

</repository>

在pom.xml文件中加入以下代码:

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>fastjson</artifactId>

<version>1.1.23</version>

</dependency>

fastJson官方文档部分词汇翻译 :

用的1.1.26的API文档。

parse:

解析

features:

特征

invoke:

调用、激活、引用

proxy:

代理

annotation:

注解

serializer:

序列化

feature:

功能

config:

配置

deserializer:

反序列化


fastjson主要方法:

使用json主要是为了将数据序列化和反序列化,方便在程序间传输。json序列化和反序列化相关的方法都在com.alibaba.fastjson.JSON这个类中。其实整个fastjson的我们常用到的类就包括JSON,JSONArray,JSONObject,他们都处于com.alibaba.fastjson路径下,其它的类基本都是为这类中的方法服务的。

fastJson所有的包:

com.alibaba.fastjson

com.alibaba.fastjson.annotation

com.alibaba.fastjson.asm

com.alibaba.fastjson.parser

com.alibaba.fastjson.parser.deserializer

com.alibaba.fastjson.serializer

com.alibaba.fastjson.support.spring

com.alibaba.fastjson.util

com.alibaba.fastjson.JSON主要接口及方法:

parse:

将String或者byte[] 数组parse为Object,这个Object可以被JSONObject或JSONArray接收。

static Object parse(byte[] input,Feature... features)

static Object parse(byte[] input,int off,int len,CharsetDecoder charsetDecoder,int features)

static Object parse(String text)

static Object parse(String text,Feature...features)

static Object parse(String text,intfeatures)

parseArray:

将String对象parse为List

static JSONArray parseArray(String text)

static <T> List<T> parseArray(Stringtext,Class<T> clazz)

static List<Object> parseArray(Stringtext,Type[] types)

parSEObject:

前面返回值是泛型,这系列方法可以把String或者byte[] parse为自己定义的实体类,也可以是其他jar包的数据类型,只要在后面指明它的类型就好了。

static <T> T parSEObject(byte[]input,Type clazz,Feature...features)

static <T> T parSEObject(byte[]input,Feature... features)

static <T> T parSEObject(char[]input,int length,Feature... features)

static JSONObject parSEObject(String text)

static <T> T parSEObject(String text,Class<T> clazz)

static <T> T parSEObject(String text,Class<T> clazz,Feature... features)

static JSONObject parSEObject(String text,Feature... features)

static <T> T parSEObject(Stringinput,int featureValues,ParserConfig config,Feature... features)

static <T> T parSEObject(String text,TypeReference<T> type,Feature... features)

toJSON:

将javabean转为JSONObject或者JSONArray。ParseserConfig可以设置转换时的一些配置。

static Object toJSON(Object javaObject)

static Object toJSON(Object javaObject,ParserConfigmapping)

toJSONBytes:

将对象转为byte[] 数组,可以使用SerializeConfig和SerializerFeature对这个转化进行一些…“改造”,都是com.alibaba.fastjson.serializer里面的内容。

static byte[] toJSONBytes(Object object,SerializeConfig config,SerializerFeature... features)

static byte[] toJSONBytes(Object object,SerializerFeature... features)

toJSONString:

把对象转为String字符串。

static String toJSONString(Object object)

static String toJSONString(Object object,boolean prettyFormat)

static String toJSONString(Object object,SerializerFeature... features)

static String toJSONString(Object object,SerializeFilter filter,SerializerFeature... features)

static StringtoJSONStringWithDateFormat(Object object,String dateFormat,SerializerFeature... features)

static String toJSONStringZ(Object object,SerializeConfig mapping,SerializerFeature... features)

还有一些孤军奋战的勇士:

static <T> inthandleResovleTask(DefaultJSONParser parser,T value) :暂时不知道有什么用。

String toString() :就是toString

void writeJSONString(Appendable appendable):write JSON string to out.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读