在将XML响应反序列化为POJO对象(特别是日期字段)时,我发现了一件奇怪的事情。以下是详细信息:
- 序列化/反序列化时,日期字段表示为长值。长期值应该是自纪元(1970年)以来的毫秒时间。
- 仅在旧日期(1970年之前)发生,其中长值实际为负
- 问题是在反序列化期间,负长值被解析为具有附加偏移量的日期对象
- 例如,如果实际值是:
- -1570341200000
- 即29/03 / 1920,00:00:00 GMT + 5:30
- deseralized的日期对象被映射到:
- -1570339800000
- 即29/03 / 1920,00:23:20 GMT + 5:30
- 如您所见,反序列化日期偏离了+1400秒。
- 正在使用的编组是:
-
org.springframework.oxm.jaxb.Jaxb2Marshaller
客户端是否有一些默认配置正在关闭反序列化?
我对JAXB不熟悉,所以如果您需要任何其他信息,请随时告诉我。
谢谢,