java Spring Jaxb2Marshaller日期问题
在将XML响应反序列化为POJO对象(尤其是日期字段)时,我看到了一件奇怪的事情。详情如下:
- 序列化/反序列化时,日期字段表示为长值。long值应该是自epoch(1970)以来以毫秒为单位的时间李>
- 这种情况只发生在旧日期(1970年之前),在旧日期,长值实际上为负值
- 问题在于,在反序列化过程中,负的long值被解析为带有额外偏移量的日期对象
- 例如,如果实际值为:
- -157034120000
- 也就是说,1920年3月29日00:00:00 GMT+5:30
- 反序列化的日期对象映射到:
- -157033800000
- 也就是说,1920年3月29日00:23:20 GMT+5:30
- 如您所见,反序列化的日期被关闭了+1400秒李>
- 正在使用的封送员是:
org.springframework.oxm.jaxb.Jaxb2Marshaller
客户机端是否有一些默认配置使反序列化关闭
我不熟悉JAXB,所以如果您需要任何其他信息,请随时告诉我
谢谢
共 (0) 个答案