Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta
#232 5 comentários 1 reação 0 responsáveis Ver no GitHub

@arimu1 já está trabalhando nisso.

Desde 22/8/2026.

  • #388 de @arimu1 — aberto

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
java
Domínio
backend

Direção de pesquisa

Comece reproduzindo a desserialização da string "3600" em uma Duration, comparando-a com a entrada numérica e com o exemplo de Instant. Leia as alterações de #184 e o tratamento de @JsonFormat para Duration. Está concluído quando uma String semelhante a int é aceita com @JsonFormat("SECONDS") e o comportamento existente de Duration para entradas numéricas e textuais continua coberto.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

2.17 pr-welcome

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

Linguagem predominante
Java
Estrelas
426
Forks
128
Merge médio
19min
PRs com merge (30d)
1

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de FasterXML/jackson-modules-java8

Todas as issues de FasterXML/jackson-modules-java8

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.