(本文是《轻松学习Fastjson》教程的第5篇文章)
在默认情况下,Fastjson实现了JavaBean和JSON对象之间的映射。
此外,Fastjson还支持一种更精简的映射,可以实现JavaBean与JSON数组之间的映射。优点是序列化之后的JSON字符串更小,缺点是降低了可读性。
本篇内容基于Fastjson 1.2.62版本,马上开始学习吧。
默认的序列化方式
默认情况下,使用JSON.toJSONString序列化对象,转化为JSON对象字符串。
public class Animal {
private String name;
private int sex;
private Integer weight;
// 省略getter、setter方法
}
/**
* 默认序列化
*/
@Test
public void toJSONString() {
Animal animal = new Animal();
animal.setName("sam");
animal.setSex(1);
animal.setWeight(100);
System.out.println(JSON.toJSONString(animal));
}
执行结果:
{"name":"sam","sex":1,"weight":100}
实现JavaBean与JSON数组映射
JavaBean序列化为JSON数组
使用JSON.toJSONString进行序列化时,传入SerializerFeature.BeanToArray参数,启用从JavaBean到JSON数组的映射。
/**
* 序列化时启用SerializerFeature.BeanToArray.<br>
* 不序列化key,而是将value作为数组字符串输出,输出的json字符串更小,也节省了空间.<br>
* 官方测试数据表示,启用后性能更好.
*/
@Test
public void toJSONStringWithBeanToArray() {
Animal animal = new Animal();
animal