一、Fastjson 是什么
Fastjson 是阿里巴巴的开源jSON解析库,它可以解析JSON格式的字符串,支持将javaBean序列化为JSON字符串,也可以从jSON字符串反序列化到javaBean。
二、Fastjson使用场景
Fastjson已经被广泛使用在各种场景,包括cache存储,RPC通讯,MQ通讯、网络协议通讯、Android客户端、Ajax服务处理程序等等
三、Fastjson优点
- 速度快
- 使用广泛
- 测试完善
四、常用的jSON解析类库
Gson:谷歌开发的jSON库,功能十分完善。
Fastjson:阿里巴巴开发的json库,性能十分优秀。
jackson:社区十分活跃且更新速度很快,被称为最好的json解析器。
五、下载和使用Fastjson
1、下载并配置到项目当中
2、序列化和反序列化对象
User对象类:
java
public class User {
@JSONField(name = "userId")
private Integer id;
private String name;
@JSONField(serialize= false)
private Integer age;
public Integer getId(){
return id
}
public void setId(Integer id){
this.id = id;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public Integer getAge(){
return age;
}
public void setAge(Integer age){
this.age = age;
}
}
Main:
java
public class Main {
//java bean 转 json字符串
User user = new User();
user.setId(1);
user.setName("张三");
user.setAge(18);
//使用fastjson 转
String userString = JSON.toJSONString(user);
System.out.println(userString);
}
JSON 字符串转成Java对象:
java
public class Main {
//java bean 转 json字符串
User user = new User();
user.setId(1);
user.setName("张三");
user.setAge(18);
//使用fastjson 转
String userString = JSON.toJSONString(user);
System.out.println(userString);
String userStr = "{\"age\":18,\"id\":1,\"name\":\"张三\"}";
User user1 = JSON.parseObject(userStr,User.class);
System.out.println(user1.getName());
}
@JSONField(name="userId") 表示重命名为userId,如图,
@JSONField(serialize = false) 表示不参与序列化,如图age并未打印,
@JSONField(format = "yyyy-MM-dd HH:mm:ss") 指定其格式,更多注解可查阅资料。