一、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对象类:
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:
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对象:
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”) 指定其格式,更多注解可查阅资料。