FasterXML / FasterXML/jackson-modules-java8

Deserialize Duration from int-like String (e.g. "3600")

Open
#232 5 comments 1 reaction 0 assignees View on GitHub
2.17 pr-welcome
Dominant language
Java
Stars
425
Forks
124
PR merge metrics
No merged PRs in 30d

Description

I think even after #184 and related changes this is still not possible.

Trying to parse a string `"3600"` into a Duration field results in an exception: "Text cannot be parsed to a Duration"

I've tried adding `@JsonFormat("SECONDS")` but it seems this only applies to numeric input.

This behaviour is inconsistent with other parts of Jackson:
- I can convert a int-like String to a regular Long, Integer etc.
- I can convert a int-like String (e.g. `"not_before": "1442340812"`) to an Instant,
- I cannot convert an int-like String (e.g. `"expires_in": "3600"`) to a Duration

It would be nice if the handling for `@JsonFormat` also applied to int-like Strings, not only to actual Numbers

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.