为Json格式自定义注释不起作用

时间:2018-08-31 02:13:16

标签: java json annotations

我创建这样的注释。

@Target({ElementType.ANNOTATION_TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotation
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", 
timezone = "GMT+8")
public @interface CommonJsonDateFormat {
}

然后在班级字段中使用它。

@CommonJsonDateFormat
private Date createTime;

它不起作用。 如果我改用@JsonFormat,它将起作用。

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;

如何解决以上问题。如果我可以使用@CommonJsonDateFormat批注,那么我将编写更少的代码,并提高代码的可重用性。

1 个答案:

答案 0 :(得分:-1)

尝试间接访问时,请在@JsonSerialize(as = Date.class)之前添加@JsonFormat