【发布时间】:2021-03-13 03:46:07
【问题描述】:
我有一个我不知道如何用谷歌搜索的场景,所以我会自己提出一个问题。如果它是重复的,请在此处链接它,以便我可以给出这个问题。
不管怎样,
我有一个带有以下注释字段的 Java 对象:
@JsonSerialize(using = CustomSerializer.class)
@JSonDeserialize(using = CustomDeserializer.class)
private Date systemDate;
业务规定不同数据库中的某些 systemDate 值具有不同的时区(不确定为什么它们没有标准化为 UTC)。
这是我的CustomSerializer.java的一个例子:
@Override
public void serialize(Date, value, JsonGenerator gen, SerializerProvider arg2) throws IOException {
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yy");
formatter.setTimeZone(TimeZone.getTimeZone("CET"));
if (value == null) {
gen.writeNull();
} else {
gen.writeString(formatter.formate(value.getTime()));
}
}
有没有办法将时区参数传递给这个类(以及我的Deserializer 类),而不是为每个时区创建一个新的序列化程序类?
【问题讨论】:
标签: java serialization jackson