fastjson文档解读——上篇

前端之家收集整理的这篇文章主要介绍了fastjson文档解读——上篇前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_0@没事翻翻fastjson文档,结合网上资料,了解了解fastjson。上篇主要是解读com.alibaba.fastjson.JSON类。

fastjson主要特点:

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

使用fastjson:

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

@H_502_0@项目中直接导入即可。

@H_502_0@若使用mava依赖:maven repository

@H_502_0@<repository>

@H_502_0@<id>opensesame</id>

@H_502_0@<name>Alibaba OpenSource Repsoitory</name>

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

@H_502_0@<snapshots>

@H_502_0@<enabled>false</enabled>

@H_502_0@</snapshots>

@H_502_0@</repository>

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

@H_502_0@<dependency>

@H_502_0@<groupId>com.alibaba</groupId>

@H_502_0@<artifactId>fastjson</artifactId>

@H_502_0@<version>1.1.23</version>

@H_502_0@</dependency>

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

@H_502_0@用的1.1.26的API文档。

parse:

解析

features:

@H_502_0@特征

invoke:

@H_502_0@调用、激活、引用

proxy:

代理

annotation:

@H_502_0@注解

serializer:

@H_502_0@序列化

feature:

功能

config:

@H_502_0@配置

deserializer:

@H_502_0@反序列化


fastjson主要方法

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

@H_502_0@fastJson所有的包:

@H_502_0@com.alibaba.fastjson

@H_502_0@com.alibaba.fastjson.annotation

@H_502_0@com.alibaba.fastjson.asm

@H_502_0@com.alibaba.fastjson.parser

@H_502_0@com.alibaba.fastjson.parser.deserializer

@H_502_0@com.alibaba.fastjson.serializer

@H_502_0@com.alibaba.fastjson.support.spring

@H_502_0@com.alibaba.fastjson.util

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

parse:

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

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

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

@H_502_0@static Object parse(String text)

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

@H_502_0@static Object parse(String text,intfeatures)

parseArray:

@H_502_0@将String对象parse为List

@H_502_0@static JSONArray parseArray(String text)

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

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

parSEObject:

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

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

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

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

@H_502_0@static JSONObject parSEObject(String text)

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

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

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

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

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

toJSON:

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

@H_502_0@static Object toJSON(Object javaObject)

@H_502_0@static Object toJSON(Object javaObject,ParserConfigmapping)

toJSONBytes:

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

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

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

toJSONString:

@H_502_0@把对象转为String字符串。

@H_502_0@static String toJSONString(Object object)

@H_502_0@static String toJSONString(Object object,boolean prettyFormat)

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

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

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

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

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

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

@H_502_0@String toString() :就是toString

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

猜你在找的Json相关文章