`WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS`/`READ_DATE_TIMESTAMPS_AS_NANOSECONDS` only work on numeric timestamps
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne mit dem bereitgestellten ObjectMapperTest und untersuche die Verarbeitung von Java-8-Datum/Zeit im Jackson-Modul für Instant, einschließlich der vorhandenen Tests für Serialisierung und Deserialisierung. Bestätige das aktuelle Verhalten mit den beiden Nanosekunden-Eigenschaften, während Zeitstempel als ISO-Zeichenfolgen verwendet werden; als erledigt gilt dies, wenn der Test die Millisekundenpräzision beibehält, ohne numerische Zeitstempel zu erfordern.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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));
}
}
- Vorherrschende Sprache
- Java
- Sterne
- 426
- Forks
- 128
- Ø Merge
- 19 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus FasterXML/jackson-modules-java8
-
Validate embedded objects for `ZoneId`, `Period`and `ZoneOffset`Evtl. vergeben @lux-liang hat das vor 24 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 72/100
-
Wrap `DateTimeException`Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
FasterXML/jackson-modules-java8#382 · 3 Kommentare ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
FasterXML/jackson-modules-java8#310 · 1 Kommentar ·
-
test-needed
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
FasterXML/jackson-modules-java8#304 · 3 Kommentare ·
-
pr-welcome test-needed
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
FasterXML/jackson-modules-java8#299 · 4 Kommentare · 1 Reaktion ·
Alle Issues in FasterXML/jackson-modules-java8
Ähnliche Issues
-
area/plugin good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
kestra-io/plugin-soda#137 ·
-
area/plugin good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
kestra-io/plugin-aws#816 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
area/plugin good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
kestra-io/plugin-kestra#200 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug untriaged
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
opensearch-project/search-relevance#618 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
apache/rocketmq-dashboard#6716 ·
Maintainer antworten meist innerhalb von 3 Tagen