- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个 POJO:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Scheduling {
@JsonProperty("created_at")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
public Date creationDate;
}
使用 java 8 和 jackson 2.7.8,我通过以下方式对其进行序列化:
String s = new ObjectMapper().writeValueAsString(scheduling);
System.out.println(s);
我希望输出类似于 SimpleDateFormat 的官方文档:{"created_at":"2001-07-04T12:08:56.235-07:00"}
但我得到的是 Z 时区: {"created_at":"2017-03-31T15:42:44.923Z"}
。我试过 X、XX 和 XXX,每个都显示 Z 时区。 yyyy-MM-dd'T'HH:mm:ss.SSSZ
但是会按预期显示 +0000 时区,不带冒号。我错过了一个选项吗?
最佳答案
阅读这部分文档需要敏锐的眼光:)。
简而言之,模式中的“Z”表示 RFC822 时区偏移量。它始终是“Sign TwoDigitHours Minutes”。但是,X(或多个 X)表示 ISO8601 标志符,它可以是任何众所周知的组合,包括小时、分钟和时区字母符号,包括“Z”(ulu)。实际上,如果提供 GMT+0 时间,它将倾向于将其序列化为“Z”而不是 +00:00。我不知道这可以更改。另外,请注意使用“Z”作为时区模式的格式化程序不会解析字母时区指示符。
更多信息:https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html#rfc822timezone
但是,我不确定您是否应该被打扰。只要日期格式符合标准(在您的情况下为 ISO8601),任何理智的解析器都能够以任何语言提取它。
关于java - jackson @JsonFormat 意外的时区输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43145121/
我的代码是: final String json = getObjectMapper().writeValueAsString(JsonView.with(graph) .onClas
我的应用程序无法格式化日期输入。我正在使用 com.fasterxml.jackson.annotation.JsonFormat Json 输入: "startDate": "2019-08-07"
我有一个自定义对象: public class Response { @JsonProperty("values") private List values; @JsonFor
目录 @JsonFormat 日期格式自动格式化 例如,某个类里面有个属性 @JsonFormat时间格式化注解使用
如何为引用自身的案例类提供 JsonFormats? 我正在关注 this 指南并编写了以下代码 case class Item(name: String, desc: Option[String],
我试图在这里找到一些帮助来应用 DefaultJsonProtocol 的 JsonFormat 扩展 到包含对象序列的类。 所以对于类(class): class Person(val name:
我有一个只有一个字段的类: @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ", t
我正在尝试为抽象类编写一个 JsonFormat,它的通用参数看起来像这样: abstract class Animal[A] { def data: A def otherStuff
我有一些特殊的业务,需要一个自定义序列化器,它在修改 DictAnnotation 注释的字段中添加一个字段,它可以工作。 但 @JsonFormat 不起作用。我的 createTime 字段曾经是
我有一个包含可变参数的案例类,其隐式 jsonFormat 如下: import spray.json._ case class Colors(name: String*) object MyJson
我有一个非常简单的 bean: public class StatusBean { private String name; @JsonFormat(shape=JsonFormat.Shape.
我有一个简单的 POJO,带有一个带有初始值的 Date 字段: 1985-09-17T01:00:00.000+0400 然后这个日期值被映射到带有注释的日期字段的 DTO: @JsonFormat
我通过这篇文章学习了如何一起使用 Json 和 java.util.Optional: https://medium.com/@harittweets/how-to-use-java-util-opt
今天在线上发现一个问题,在使用Jackson进行时间的反序列化时,配置的 @JsonFormat 没有生效 查看源码发现,Jackson在反序列化时间时,会判断json字段值类型,如下: 由
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern ="yyyy-MM-dd'T'HH:mm:ss.SSS") 是否可以用模式编写正则表达式?我不
我有一个来自 JSON 有效负载的值: "callStartTime" : "2019-03-27 13:00:00" 实体.java @JsonProperty("callStartTime") @
我在我的项目中使用了 Spring Date Rest 和 Spring Boot。 这个项目有一个对象,我使用了 @JsonFormat 注释来格式化将从我的 Json 接收到的日期字段。 字段日期
我有一个生成的java类: package cc.notsoclever.customerservice public class Customer { protected String name
我有一个用秒部分定义的字段(即:“ss”),如下所示 @JsonProperty("date") @JsonFormat(shape = JsonFormat.Shape.STRING, patter
我有一个通用表单字段类 public class FormField { private T value; private boolean disabled; // setters
我是一名优秀的程序员,十分优秀!