@JSONField是阿里的fastjson包中的注解,使用fastjson进行序列化,就是把JavaBean转换为JSON格式的数据。而且fastjson的序列化高度可控性,可以自己定制序列化。fastjson的定制序列化有很多中实现方式,使用方法:
1、指定字段的名称
@JSONField(name="product_name")
private String productName;
配置序列化的时候,日期序列化为product_name。
2、使用format定制日期格式:
public class A {
// 配置date序列化和反序列使用yyyyMMdd日期格式
@JSONField(format="yyyyMMdd")
public Date date;
}
3、指定字段顺序:
public static class VO {
@JSONField(ordinal = 3)
private int f0;
@JSONField(ordinal = 2)
private int f1;
@JSONField(ordinal = 1)
private int f2;
}
4、使用serialize/deserialize指定字段不序列化
public class A {
@JSONField(serialize=false)
public Date date;//可以过滤
@JSONField(serialize=false)
public final Date date;//不能过滤
}
但是如果字段加上了final,则无法被过滤。