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

@JSONFORMAT的注释格式问题

满昊然
2023-03-14

后端实体类使用了@jsonformat注释,但在前端获取数据时24-hour和12hour中的时间格式似乎存在问题。例如,后端时间为2021-5-21 00:50,但发送到前端的时间变成了2021-5-21 12:50。是@jsonformat的属性设置有问题还是前端。

@JsonFormat(pattern="yyyy-MM-dd hh:mm",timezone="GMT+8")

共有1个答案

左丘繁
2023-03-14

正如注释中所建议的,您只需将较低的大写格式hh(将12h格式的小时数转换为“1-12”)更改为较高的大写格式hh(将24h格式的小时数转换为“0-24”),因此您的整个日期时间格式应该如下所示:

@JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")

我个人使用@JSONSerializer@JSONDeserializer注释来实现更高效的转换模式,但我认为在您的情况下没有必要。

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

  • 我正在我的gradle项目中使用。自从将添加到我的项目构建文件后,我在运行gradle项目时遇到了这个异常。这里是我的错误的堆栈跟踪。 我在我的类中使用了未使用的。但是我确实有和注释,它们使用两个类来序列化和反序列化我的到UTC格式的Json和从Json到Json的。我是第一次做这个序列化和反序列化,所以请给出任何建议。 这是我的分级文件代码:

  • 现在,我使用默认配置,当我按下“命令”+“/”时,“//”显示在第一列,请参见图片中的第二行。 如何更改配置以在代码开头显示“//”并在后面显示空格?就像第一句台词一样。

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

  • 我知道我该在约会部分用什么了。但是时间部分需要什么模式呢??

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