: 여기
ObjectMapper jacksonMapper = new ObjectMapper();
Jackson8Module module = new Jackson8Module();
module.addStringSerializer(LocalDate.class, (val) -> val.toString());
module.addStringSerializer(LocalDateTime.class, (val) -> val.toString());
jacksonMapper.registerModule(module);
은 Jackson8Module 코드입니다. 그것은 논리적이지 않습니다. 그들이이 언급 한 JSR310Module 문서에서
(https://github.com/FasterXML/jackson-datatype-jsr310) : 직렬화
는, 타임 스탬프는 수 초 분수 (소수)로 작성하고 소수는 경우, 소수 초 WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS (디폴트에서는), 기본이되는 JDK의 구현에 응한 나노초만큼의 정밀도로 해결됩니다. WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS가 비활성화되면 타임 스탬프는 밀리 초 단위로 기록됩니다.
그래서, 당신이 그들이 말하는처럼 매퍼를 구성이다 달성하기 원하는에 대한 간단한 솔루션 :
mapper.configure(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS, false);
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, true);
이유는 잭슨이 인스턴트가 가지고있는 정밀도를 잃지 않도록 시도 할 아마도. 수신기가 JavaScript가 아닐 수도 있습니다. –
네, 아마도 당신 말이 맞을 겁니다. 그러나 nonos는 실제로 여기 0입니다. 아마 이것은 Java 8 java.time에 더 있습니다. –