fastjson文档解读——上篇

没事翻翻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, 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, int off, int len, CharsetDecoder charsetDecoder, Type clazz, Feature...features)

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

static <T> T parseObject(char[]input, int length, Type clazz, 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, Type clazz, Feature... features)

static <T> T parseObject(Stringinput, Type clazz, int featureValues, Feature... features)

static <T> T parseObject(Stringinput, Type clazz, ParserConfig config, int featureValues, 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,SerializeConfig config, SerializerFeature... features)

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

static String toJSONString(Object object,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.

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值