FastJson是来自阿里巴巴的工程师开发,由Java语言编写的高性能的、功能完善的JSON库。
FastJson的特色说明:
1、遵循:http://json.org标准。
2、功能强大,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。
3、不需要例外额外的jar,能够直接运行在JDK上。
4、开源,使用Apache License 2.0协议开源。
5、具有超高的性能。
FastJson是采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。
源码地址 -> https://github.com/alibaba/fastjson
下载地址 -> http://repo1.maven.org/maven2/com/alibaba/fastjson/
Maven repository配置如下:
com.alibaba
fastjson
1.2.15
com.alibaba
fastjson
1.1.52.android
Gradle支持:compile 'com.alibaba:fastjson:VERSION_CODE'
序列化和反序列化:
Fastjson支持Java bean的直接序列化,可使用com.alibaba.fastjson.JSON这个类进行序列化和反序列化。
Bean对象序列化和反序列化:package com.what21.fastjson.fj01;
/**
* 模型对象
*/
public class Person {
//ID
private int id;
//名称
private String name;
// 邮箱
private String email;
// 手机号
private String phone;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}package com.what21.fastjson.fj01;
import com.alibaba.fastjson.JSON;
/**
* 测试Main方法
*/
public class FastJsonMain {
/**
* @param args
*/
public static void main(String[] args) {
// 1、创建对象并赋值
Person person = new Person();
person.setId(21);
person.setName("小奋斗教程");
person.setEmail("1732482792@qq.com");
person.setPhone("156983444xx");
// 2、序列化对象
String json = JSON.toJSONString(person);
System.out.println("person json -> ");
System.out.println(json);
// 3、反序列化
Person rPerson = JSON.parseObject(json, Person.class);
System.out.println("ID -> " + rPerson.getId());
System.out.println("名称 -> " + rPerson.getName());
System.out.println("邮箱 -> " + rPerson.getEmail());
System.out.println("手机号 -> " + rPerson.getPhone());
}
}
输出内容:person json ->
{"email":"1732482792@qq.com","id":21,"name":"小奋斗教程","phone":"156983444xx"}
ID -> 21
名称 -> 小奋斗教程
邮箱 -> 1732482792@qq.com
手机号 -> 156983444xx