分类

编程开发

Fastjson(JSON处理器)

Fastjson(JSON处理器) v2.1.14

大小:2.53MB

语言:简体中文系统:Windows

类别:编程开发时间:2023-12-28

Tags:

fastjson是阿里巴巴推出的一款很好的java开源json解析器和生成器。其采用独创的算法,将parse的速度提升到极致,超过目前所有json库,其中包括曾经号称最快的jackson和google的二进制协议protocol buf。同时fastjson功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)等诸多特性也使得其在业内备受好评。本站提供fastjson免费下载。

fastjson(JSON处理器) V2.1.14

使用方法

1、主要的使用入口

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成,如下所示:

public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray

public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject

public static final T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean

public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray

public static final List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合

public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本

public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本

public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray

2、有关类库的一些说明

SerializeWriter:相当于StringBuffer

JSONArray:相当于List

JSONObject:相当于Map

JSON反序列化没有真正数组,本质类型都是List

3、fastjson 解析json字符串为四种类型

①。 JavaBean

Person person = JSON.parseObject(jsonString, Person.class);

②。 List

List listPerson =JSON.parseArray(jsonString, Person.class);

③。 List

List listString = JSON.parseArray(jsonString, String.class);

④。 List》

List》 listMap = JSON.parseObject(jsonString, new TypeReference》》(){});

注意:fastjson反射机制比gson更准确, id = 1001 通过fastjson反射仍是 id = 1001 , 而通过gson反射结果则为 id =1001.0

操作实例

关于fastjson的使用讲起来可能比较抽象,小编为大家列举一段简单的测试示例,希望大家喜欢:

测试环境工具:groovy1.8.6+jdk1.6.31

测试环境:GroovyConsole

首先将FastJson.jar放到groovy\lib目录中,复制JAVA代码如下:

import com.alibaba.fastjson.JSON

import com.alibaba.fastjson.JSONObject

class Test {

static main(args){

String text = ‘{“name”:“老张头”, “age”:66}’

/** 将JSON字符串转换为JSON对象 **/

JSONObject json = JSON.parseObject(text)

println json.name

/** 将JSON字符串转换为JavaBean对象 **/

User user = JSON.parseObject(text, User.class)

println user

/** 将JavaBean对象转换为JSON字符串 **/

String jsonObject = JSON.toJSONString(user);

println jsonObject

/** 将JavaBean对象转换为JSON对象,报错 **/

//JSONObject userJson = (JSONObject) JSON.toJSON(user)

//println userJson

}

}

private class User {

String name

int age

}

输出结果如下:

老张头

User@19dcf69

{“age”:66,“name”:“老张头”}

优点

Fastjson的目标
在服务器端和安卓客户端提供最好的性能
提供简单的toJSONString()和parseObject()方法,将Java对象转换成JSON,反之亦然。
允许将预先存在的不可修改的对象转换为JSON,或从JSON中转换。
对Java泛型的广泛支持
允许自定义对象的表示方法
支持任意复杂的对象(具有深厚的继承层次和广泛使用的通用类型)

功能特色

1.性能卓越
fastjson选用独创性的优化算法,将parse的速率提高到完美,超过全部json库,包含以前称为更快的jackson。而且还超过了google的二进制协议书protocolbuf
2.支持规范
Fastjson彻底支持http://json.org的规范,也是官方网百度收录的参照完成之一
3.功能齐全
支持各种各样JDK类型。包含基本上类型.JavaBean.Collection.Map.Enum.泛型等
支持循环引用
4.无依靠
不用除外附加的jar,可以立即跑在JDK上
5.支持覆盖面广
fastjson支持JDK5.JDK6.Android.阿里云手机等自然环境
6.开源系统
ApacheLicense2.0
代码托管在github.org上,新项目详细地址是https://github.com/AlibabaTech/fastjson
7.测试充足
fastjson有超过1500个testcase,每一次搭建都是会跑一遍,丰富多彩的测试情景确保了作用平稳

以后上便是winwin7给大家分享的Fastjson,欢迎有需要的用户前来获取这款Fastjson!

同类推荐

猜你喜欢

相关文章

本类下载排行