Я использую Jackson 2.8.1 для сериализации java-объекта. Тем не менее, я не могу избавиться от мерзавца идентификатора зоны при преобразовании объекта ZonedDateTime в строку с «WRITE_DATES_WITH_ZONE_ID» установлен в ложномWRITE_DATES_WITH_ZONE_ID не может быть отключен для ZonedDateTime
ObjectMapper mapper = new ObjectMapper()
.findAndRegisterModules()
.setSerializationInclusion(Include.NON_EMPTY)
.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)
.configure(SerializationFeature.WRITE_DATES_WITH_ZONE_ID, false);
ZonedDateTime zdt = ZonedDateTime.now();
System.out.println(mapper.writeValueAsString(zdt)); // "2016-08-23T13:35:38.127+08:00[Asia/Shanghai]"
Может ли один помочь?
что-то не хватает в вашем примере в то время как он печатает все поля объектов 'ZonedDateTime'' {"dayOfMonth": 23, "dayOfWeek": "ВТОРНИК", "dayOfYear": 236, "month": "AUGUST", "monthValue": 8, "year": 2016, "час": 14, "минута": 40, "нано": 745000000, "второй": 3, "хронология": { "идентификатор": "ISO", "calendarType": "ISO8601"}} '. –
@MichalFoksa, возможно, вам понадобится jackson-datatype-jsr310 в вашем пути к вашему пути –
Какое ваше ожидаемое значение? '2016-08-23T13: 35: 38.127' или' 2016-08-23T13: 35: 38.127 + 08: 00'? –