jackson 对于给定的示例,在Spring-boot中@JsonFormat(pattern="”)应该是什么

bsxbgnwa  于 2022-11-08  发布在  Spring
关注(0)|答案(1)|浏览(116)

使用Spring-boot RESTful服务,接收到的JSON文件中包含格式为**“2017-08- 16 T16:08:25.000Z”**的DateTime,JsonFormat尝试为例如

@JsonFormat(pattern="yyyy-MM-dd HH:mm") 
@JsonFormat(JsonFormat.Shape.STRING,pattern="yyyy-MM-dd@HH:mm:ss.SSSZ")

但没有一种格式与接受. jar匹配,如下所示:

import com.fasterxml.jackson.annotation.JsonFormat;

那么应该采用什么JSON格式模式来接受这样的JSON数据呢?

wqsoz72f

wqsoz72f1#

您需要仔细阅读javadoc。引用javadoc of @JsonFormat

  • Date:形状可以是JsonFormat.Shape.STRING,也可以是JsonFormat.Shape.NUMBER;模式可以包含与SimpleDateFormat兼容模式定义。

并引用javadoc of SimpleDateFormat
在日期和时间模式字符串中,从'A''Z'以及从'a''z'的无引号字母被解释为模式字母[...]。
可以使用单引号(')引用文本,以避免解释。
因此,您需要在@JsonFormat的模式中使用'T',而不是T

pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ"

相关问题