JDC*_*JDC 12 java serialization datetime jackson
我想序列化ZonedDateTime到ISO 8601标准的字符串,如:
2018-02-14T01:01:02.074+0100.
我尝试了以下方法:
@JsonProperty("@timestamp")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
private ZonedDateTime timestamp;
Run Code Online (Sandbox Code Playgroud)
但不幸的是,它没有给出正确的结果,并将ZonedDateTime其所有字段等序列化.
谢谢你的帮助!
Man*_*dis 23
确保包含并注册Jackson模块,以获取Java 8中引入的日期和时间类.例如
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.8.10</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
如有必要:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());
Run Code Online (Sandbox Code Playgroud)
附注:您也可以在没有注释的情况下获得所需的格式,并且只是将ObjectMapper日期配置为不将日期序列化为时间戳.例如
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6142 次 |
| 最近记录: |