`WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS`/`READ_DATE_TIMESTAMPS_AS_NANOSECONDS` only work on numeric timestamps
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
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
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di FasterXML/jackson-modules-java8
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
-
Wrap `DateTimeException` Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
FasterXML/jackson-modules-java8#382 · 3 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
FasterXML/jackson-modules-java8#310 · 1 commento ·
-
Instants get not deserialized as expected sometimes (millis vs nanos, non-fractional numbers) Apertatest-needed
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
FasterXML/jackson-modules-java8#304 · 3 commenti ·
-
OffsetTimeSerializer not writing seconds for time object like 15:30:00Z (where seconds is 00) Apertapr-welcome test-needed
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
FasterXML/jackson-modules-java8#299 · 4 commenti · 1 reazione ·
Tutte le issue di FasterXML/jackson-modules-java8
Issue simili
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
apache/flink-agents#1152 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
jenkinsci/blueocean-plugin#5417 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
objectionary/eo-graphs#75 ·