Fastjson中文版是一个Java库,其功能是将对象转换成其JSON的格式,同样还能将JSON字符串转换为Java对象,方便用户处理数据。该Java库能够处理任意的Java对象,包括预先存在的对象,因此十分便利,有需要此代码库的用户可以在本站下载并使用。有需要的小伙伴快来下载吧。
Fastjson的目标
在服务器端和安卓客户端提供最好的性能
提供简单的toJSONString()和parseObject()方法,将Java对象转换成JSON,反之亦然。
允许将预先存在的不可修改的对象转换为JSON,或从JSON中转换。
对Java泛型的广泛支持
允许自定义对象的表示方法
支持任意复杂的对象(具有深厚的继承层次和广泛使用的通用类型
1、高性能
fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf
2、支持标准
Fastjson完全支持http://json.org的标准,也是官方网站收录的参考实现之一
3、功能强大
支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等
支持循环引用
4、无依赖
不需要例外额外的jar,能够直接跑在JDK上
5、支持范围广
fastjson支持JDK 5、JDK 6、Android、阿里云手机等环境
6、开源
Apache License 2.0
代码托管在github.org上,项目地址是 https://github.com/AlibabaTech/fastjson
7、测试充分
fastjson有超过1500个testcase,每次构建都会跑一遍,丰富的测试场景保证了功能稳定
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放到groovylib目录中,复制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”:“老张头”}
修复一些直接抛RuntimeException的问题
parser自动识别gzip bytes
修复Throwable继承类属性不支持自动类型转换问题
修复PrettyFormat情况下引用计算不对的问题
修复AutoType不兼容LinkedHashMap的问题
增强对Enum类型的自定类型转换
修复deserializeUsing在泛型某些场景不能正常工作的问题
提升JSONReader性能,减少小对象创建
增强对JSONPath对filter的支持
JSONPath支持忽略NullValue的选项
增强对定制化enum的支持
增强对java.time.Instant和org.joda.time.Instant的支持
修复Parser某些场景不能识别引用的问题
同类推荐
2022-09-14
立即下载2022-09-06
立即下载2022-09-06
立即下载2022-09-03
立即下载2022-09-03
立即下载2022-09-03
立即下载相关文章
Eclipse怎么创建java程序?
2021-05-31Win10怎么配置Java环境变量
2020-11-12微软努力将Java 移植到基于ARM的Mac和Win10上
2020-09-23Java 开发工具 IntelliJ IDEA 2020.1.3 发布
2020-07-09Google Cloud Functions 添加对 Java 11 支持
2020-05-29Word文字输入的几个新玩法
2022-08-02FL Studio采样的方法
2020-09-04驱动精灵dpInst无法在此设备运行怎么办?
2022-04-07Camtasia Studio如何增帧?Camtasia Studio增帧的方法
2021-11-11滴答清单怎么更改主题颜色
2020-12-15