Ask*_*mov 2 java json iso8601 jackson deserialization
我的对象中有以下声明:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX")
private ZonedDateTime start;
Run Code Online (Sandbox Code Playgroud)
当我解析时间戳如2016-12-08T12:16:07.124Z(使用Jackson Json De-serilaizer)时它工作正常,但一旦我收到时间戳没有毫秒(例如"2016-12-08T12:16:07Z") ,它抛出异常.
我怎么可能在格式规范中使毫秒可选?
如果您使用的是Java 8,请.SSS在方括号内指定[.SSS]
JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss[.SSS]X")
Run Code Online (Sandbox Code Playgroud)
小智 6
如果millis由1或2或3位数字组成,您可以使用此模式
JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss[.SSS][.SS][.S]X")
Run Code Online (Sandbox Code Playgroud)
可选部分顺序严格
| 归档时间: |
|
| 查看次数: |
7051 次 |
| 最近记录: |