【发布时间】:2018-05-10 04:10:14
【问题描述】:
在我使用Spring Boot 2.0.0.M6、Spring Framework 5.0.1.RELEASE 和Jackson 2.9.2 的项目中,我有一些与JSON 序列化使用Jackson 相关的问题。
我在application.properties中配置了以下杰克逊相关设置:
spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false
序列化主要根据我的需要工作。不过,我注意到如果是000,Jackson 似乎会截断毫秒。
测试 1:序列化 Instant,毫秒设置为 000:
- 使用
Instant.parse("2017-09-14T04:28:48.000Z")初始化即时字段 - 使用 Jackson 对其进行序列化
- 输出将是
"2017-09-14T04:28:48Z"
测试 2:序列化 Instant,毫秒设置为某个非000 值:
- 使用
Instant.parse("2017-09-14T04:28:48.100Z")初始化即时字段 - 使用 Jackson 对其进行序列化
- 输出将是
"2017-09-14T04:28:48.100Z"
问题:
- 这种行为是设计使然吗?
- 我可以做些什么来强制序列化
000?
【问题讨论】:
-
似乎类似于这个 github 问题github.com/FasterXML/jackson-datatype-jsr310/issues/39
-
@SeanCarroll 确实如此。感谢您指出这一点。
标签: java json spring spring-boot jackson2