Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

`WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS`/`READ_DATE_TIMESTAMPS_AS_NANOSECONDS` only work on numeric timestamps

Aperta
#374 31 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
java
Ambito
backend

Direzione di ricerca

Inizia con l'ObjectMapperTest fornito e analizza la gestione di data/ora di Java 8 nel modulo Jackson per Instant, inclusi i test esistenti di serializzazione e deserializzazione. Conferma il comportamento attuale con le due proprietà dei nanosecondi mentre vengono utilizzati timestamp come stringhe ISO; il lavoro è completato quando il test mantiene la precisione al millisecondo senza richiedere timestamp numerici.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

date-time-config

Hello.

I'm using Spring Boot 3.5.6 with Java 25 and I need a way to have Jackson to serialize/deserialize date-time values up to milliseconds precision and not higher (nanoseconds, actually).

I tried setting write-date-timestamps-as-nanoseconds and read-date-timestamps-as-nanoseconds to false, but it looks like they're simply ignored if I don't have write-dates-as-timestamps to true.
Indeed, I would like to have my JSON contain a date-time in the ISO standard format and not as a long value, but I wasn't able to find anything in the documentation for this.
I wonder why such a feature is provided only for numeric timestamps. It should work for both IMHO.

Below a small test case to reproduce the issue:

@SpringBootTest(
        webEnvironment = MOCK,
        properties = {
                //"spring.jackson.serialization.write-dates-as-timestamps=true",
                "spring.jackson.serialization.write-date-timestamps-as-nanoseconds=false",
                "spring.jackson.deserialization.read-date-timestamps-as-nanoseconds=false"
        }
)
public class ObjectMapperTest {
    @Autowired
    private ObjectMapper objectMapper;

    @Test
    public void shouldHandleDateTimeUpToMillis() throws JsonProcessingException {
        // given
        Instant instant = Instant.now().with(NANO_OF_SECOND, 1);
        assertThat(instant.getNano()).isNotZero();

        // when
        String serialized = objectMapper.writeValueAsString(instant);

        // then
        Instant deserialized = objectMapper.readValue(serialized, Instant.class);
        assertThat(deserialized).isEqualTo(instant.truncatedTo(MILLIS));
    }
}
Lingua principale
Java
Stelle
425
Fork
125
Merge medio
19m
PR unite (30g)
1

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di FasterXML/jackson-modules-java8

Tutte le issue di FasterXML/jackson-modules-java8

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.