es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Deserializa el formato de fecha ‘2021-09-24 00:00:00’ mediante Jackson al utilizar lombok @Builder.

Tengo el siguiente objeto de la respuesta:

{
    "upload_date": "2021-09-24 00:00:00"
}

Estoy utilizando Jackson para deserializar en un campo LocalDateTime:

@Getter
@Builder
@JsonDeserialize(builder = AdGroup.AdGroupBuilder.class)
public class AdGroup {

    @JsonProperty("upload_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime uploadDate;

}

Pero obtengo ‘No se puede deserializar el valor del tipo java.time.LocalDateTime desde la cadena “2021-09-24 00:00:00”: No se pudo deserializar java.time.LocalDateTime: (java.time.format.DateTimeParseException) El texto “2021-09-24 00:00:00” no se pudo analizar en el índice 10’
Intenté utilizar el patrón “yyyy-MM-dd’T’HH:mm:ss” con y sin ‘shape = JsonFormat.Shape.STRING’, pero siempre obtengo el mismo error.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El problema con la deserialización del campo upload_date en un objeto LocalDateTime se debe a un error de formato. Para resolver esto, debes modificar la anotación @JsonFormat para que coincida con el formato exacto de la cadena de fecha y hora en la respuesta.

    De acuerdo con el objeto de respuesta, el formato correcto debería ser yyyy-MM-dd HH:mm:ss. Por lo tanto, debes modificar la anotación @JsonFormat de la siguiente manera:

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime uploadDate;
    

    Esto debería resolver el problema con la deserialización del campo upload_date en un objeto LocalDateTime.

Comments are closed.