json注解使用(jackson与fastjson)
jackson
@JsonInclude(JsonInclude.Include.NON_NULL) 类上注解,过滤null值
@JsonProperty("name.aa") 定义属性名
@JsonIgnore 用来告诉 Jackson 在处理时忽略该注解标注的 java pojo 属性,
参考:https://www.cnblogs.com/zhao1949/p/8417402.html
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")此注解用于属性或者方法上(最好是属性上),可以方便的把Date类型直接转化为我们想要的模式
@JsonIgnoreProperties此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。
@JsonIgnore此注解用于属性或者方法上(最好是属性上),用来完全忽略被注解的字段和方法对应的属性,即便这个字段或方法可以被自动检测到或者还有其
他的注解,一般标记在属性或者方法上,返回的json数据即不包含该属性。用在属性上@JsonIgnore不用加参数
@JsonSerialize此注解用于属性或者getter方法上,用于在序列化时嵌入我们自定义的代码,比如序列化一个double时在其后面限制两位小数点。
@JsonSerialize(using = BigDecimalSerializer.class) 自定义的序列化类
@JsonDeserialize此注解用于属性或者setter方法上,用于在反序列化时可以嵌入我们自定义的代码,类似于上面的@JsonSerialize。
参考:https://www.cnblogs.com/zjdxr-up/p/9737133.html
参考:https://blog.csdn.net/liuxiao723846/article/details/42921333 jackson中自定义处理序列化和反序列化
fastjson
@JSONField(name="project_id")
@JSONField(format="yyyy-MM-dd")
参考:https://blog.csdn.net/qq_28988969/article/details/82690928