序列化杰克逊的日期列表

lea*_*iro 3 java serialization json date-format jackson

我正在尝试序列化包含日期列表的对象,并且我希望以特定格式(yyyy-MM-dd)序列化为日期(字符串)的JSON列表.

private List<Date> executionDates;
Run Code Online (Sandbox Code Playgroud)

会变得像:

"executionDates": [
  "2016-07-22",
  "2016-07-23",
  "2016-07-24"
]
Run Code Online (Sandbox Code Playgroud)

可以用注释来做吗?

提前致谢.

lea*_*iro 10

我找到了解决方案.我必须使用属性contentUsing而不是using像这样的注释:

@JsonSerialize(contentUsing = JsonDateSerializer.class)
Run Code Online (Sandbox Code Playgroud)

contentUsing属性用于集合.从课程文档:

Serializer类,用于序列化带注释属性的内容(Collection/array的元素,Maps的值).只能用于属性(方法,字段,构造函数),而不能用于值类本身(因为它们通常是通用的).