使用 Jackson 将即时序列化为 ISO8601 时强制毫秒
2022-09-03 02:20:14
我有一些与 JSON 序列化相关的问题,在我使用的项目中使用 Jackson 和 .Spring Boot 2.0.0.M6
Spring Framework 5.0.1.RELEASE
Jackson 2.9.2
我已经在中配置了以下与杰克逊相关的设置:application.properties
spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false
序列化主要按照我的需要工作。尽管如此,我注意到杰克逊似乎切断了毫秒,如果他们是.000
测试 1:序列化即时,毫秒设置为 000
:
- 使用初始化即时字段
Instant.parse("2017-09-14T04:28:48.000Z")
- 使用 Jackson 序列化它
- 输出将为
"2017-09-14T04:28:48Z"
测试 2:序列化即时,并将毫秒数设置为某个非 000
值:
- 使用初始化即时字段
Instant.parse("2017-09-14T04:28:48.100Z")
- 使用 Jackson 序列化它
- 输出将为
"2017-09-14T04:28:48.100Z"
问题:
- 这种行为是设计使然吗?
- 我能做些什么来强制序列化 ?
000