@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER })
public @interface JSONField {
// 序列化和反序列化时的字段顺序,等价于jackson的@JsonProperty.index()
int ordinal() default 0;
// 序列化和反序列化时的字段名称映射,等价于jackson的@JsonProperty.value()
String name() default "";
// 序列化和反序列化时的数据格式(日期格式、16进制等等),等价于jackson的@JsonFormat.shape() + @JsonFormat.pattern()
String format() default "";
// 字段是否序列化,等价于jackson的@JsonProperty.access()
boolean serialize() default true;
// 字段是否反序列化,等价于jackson的@JsonProperty.access()
boolean deserialize() default true;
// 序列化特性,等价于jackson的@JsonProperty.with()
SerializerFeature[] serialzeFeatures() default {};
// 反序列化特性,等价于jackson的@JsonFormat.with()
Feature[] parseFeatures() default {};
// 对属性进行打标,便于在序列化时进行exclude或include,等价于jackson的@JsonView
String label() default "";
// 序列化时将字段内容直接输出,不经过转义,等价于jackson的@JsonRawValue
boolean jsonDirect() default false;
// 指定序列化时使用的Serializer Class,等价于jackson的@JsonSerialize
Class serializeUsing() default Void.class;
// 指定反序列化时使用的Deserializer Class,等价于jackson的@JsonDeserialize
Class deserializeUsing() default Void.class;
// 指定反序列化时使用的字段别名,等价于jackson的@JsonAlias
String[] alternateNames() default {};
// 将字段的子属性映射到父节点上,等价于jackson的@JsonUnwrapped
boolean unwrapped() default false;
// 指定序列化时字段为null时使用的默认值,等价于jackson的@JsonProperty.defaultValue()
String defaultValue() default ""; }
fastjson注解与jackson映射关系
最新推荐文章于 2022-12-22 11:03:36 发布