喜欢fastjson,因为只需要依赖JDK,其他环境都不需要依赖就可以使用。而且它非常的快。这里我也把使用它的一些感悟和总结写出来,供大家指正。
说到fastjson,我们就要懂得一个概念就是序列化:将对象信息转换为可以传输和存储的信息【百度百科】
我们不需要一个字段的时候我们可以通过@JSONFiled(serialize=false) 来不序列化,默认JSONFiled类里面serialize和deserialize都是true
@JSONFiled()里面有很多参数可以去设置,比如时间的类型@JSONFiled(format="yyyyMMdd HHmmss"),也可以指定在序列化时的名字。
@Id
@Column(name = "id")
@JSONField(name = "ID")
@GeneratedValue(strategy= GenerationType.IDENTITY)
public int getId() {
return id;
}
比如我们在上面指定序列化后名字为“ID”。
fastjson还有一个优点就是和java中的实体类有很好的融合。我们定义好的实体类。然后我们在返回给前端使用的时候,有一些字段我们是不需要或者前端不要求提供的。所以我们可以用过滤器把它过滤掉。
SimplePropertyPreFilter filter = new SimplePropertyPreFilter(FundEntity.class,"ID","contractContent","fixtureTime","contractContent","typeName","dealMark","transactionAmount");
return JSON.toJSONString(new BaseModel(Constants.SUCCESS_CODE,fundLists2),filter);
这样返回的字段就是我们Filter里面定义的规定字段。
当我们按顺序输出相关的列,我们可以在输出的model类中加入注解@JSONField(ordinal=0) .. 如下:
@JSONField(ordinal = 0)
private String code;
@JSONFi