当前位置: 首页 > 知识库问答 >
问题:

Jackson@JsonFormat设置日期少一天

丘向荣
2023-03-14
@Temporal(TemporalType.DATE)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy", locale = "pt-BR", timezone = "UTC")
private Date birthDate;

谢谢

共有1个答案

关浩壤
2023-03-14

使用此解决方案,它比我的解决方案更有效、更现代:https://stackoverflow.com/A/45456037/4886918

谢谢@Benjamin Lucidarme。

我使用以下方法解决了问题:

@Temporal(TemporalType.DATE)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy", locale = "pt-BR", timezone = "Brazil/East")
private Date birthDate;
 类似资料:
  • 问题内容: 我在项目中使用过Spring DateRest和SpringBoot。这个项目有一个对象,我使用了@JsonFormat注释来格式化将从我的Json接收的日期字段。日期字段的格式为“ dd / MM / yyyy”。当我发送json值“ 08/07/1980”时,杰克逊将转换为值“ 07/07/1980”。 问题是@JsonFormat将日期设置为少一天 这是我的源代码 谢谢 问题答案

  • 我想用特定的格式序列化POJO的某些日历字段。 我将添加一个格式为字符串的字段,因为它实际上是以24小时为单位表示一天,而不是一个特定的时间瞬间。但当我添加带有注释的新字段时: 我希望得到这样的JSON: 相反,我遇到了以下例外情况:

  • 我正在工作的非Spring靴项目。 对于spring boot,您可以使用以下属性: 如果我能在没有Spring的情况下设置这样的属性,那就太好了。

  • 我需要使用两个jackson 2对象映射器。两个映射器都使用同一组类。首先,我需要使用标准序列化。在第二个例子中,我想对所有类使用数组形状类型(请参见https://fasterxml.github.io/jackson-annotations/javadoc/2.2.0/com/fasterxml/jackson/annotation/JsonFormat.Shape.html#ARRAY).

  • 我正在使用jackson库,我遇到了一种情况,我想在序列化/反序列化时使用对象映射器禁用@JsonFormat注释。 我的Api代码在第三方库中,所以我不能删除/添加任何注释,所以objectMapper是唯一的选择。 Api类别: 我的代码: 我希望这种转换成功发生。 目前我得到了:com.fasterxml.jackson.databind。JsonMappingException:格式无效:

  • 我已经找了很多但仍然没有得到答案到目前为止,任何帮助是非常感谢! 我有一个简单的到字段映射,并尝试将JSON字符串读取到Java对象。 例外情况: java.lang.IllegalArgumentException:无法解析日期值“null”(格式:“dd-mmm-yyyy”):不可解析日期:“null”com.fasterxml.jackson.databind.deser.std.dateD