@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 par
SEObject(byte[]input,Type clazz,Feature...features)
@H_
502_0@static <T> T par
SEObject(byte[]input,Feature... features)
@H_
502_0@static <T> T par
SEObject(char[]input,int length,Feature... features)
@H_
502_0@static JSONObject par
SEObject(String text)
@H_
502_0@static <T> T par
SEObject(String text,Class<T> clazz)
@H_
502_0@static <T> T par
SEObject(String text,Class<T> clazz,Feature... features)
@H_
502_0@static JSONObject par
SEObject(String text,Feature... features)
@H_
502_0@static <T> T par
SEObject(Stringinput,int featureValues,ParserConfig config,Feature... features)
@H_
502_0@static <T> T par
SEObject(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.