Jsonb spe c определяет реализации отображения по умолчанию, которые должны поддерживаться в разделе 3.5 Дата:
Реализации ДОЛЖНЫ поддерживать привязку следующего стандартного Java дата / время классы:
- java .util.Date
- java .util.Calendar
- java .util.GregorianCalendar
- java .util.TimeZone
- java .util.SimpleTimeZone
- java .time.Instant
- java .time.Duration
- java .time.Period
- java .time.LocalDate
- java .time.LocalTime
- java .time.LocalDateTime
- java .time.ZonedDateTime
- java .time.ZoneId
- java .time.ZoneOffset
- java .time.OffsetDateTime
- java .time.OffsetTime
A В статье javaindeed перечислены различные используемые для них средства форматирования вместе с примером вывода:
{
"date": "2016-07-27T23:07:41",
"calendar": "2016-07-27T23:07:41.782+02:00[Europe/Copenhagen]",
"gregorianCalendar": "2016-07-27T23:07:41.801+02:00[Europe/Copenhagen]",
"timeZone": "Europe/Copenhagen",
"simpleTimeZone": "Europe/Paris",
"instant": "2016-07-27T21:07:41.806Z",
"duration": "PT96H",
"period": "P3M",
"localDate": "2016-07-27",
"localTime": "23:07:41.807",
"localDateTime": "2016-07-27T23:07:41.807",
"zonedDateTime": "2016-07-27T23:07:41.807+02:00[Europe/Copenhagen]",
"zoneId": "Europe/Copenhagen",
"zoneOffset": "+03:30",
"offsetDateTime": "2016-07-27T23:07:41.807+02:00",
"offsetTime": "23:07:41.807+02:00",
}
В моем случае экземпляр java.time.Instant
будет десериализован правильно из javascript выходной строки Date.toJSON()
.