gpt4 book ai didi

Java GSON JsonSerializer 未将模型的日期类型字段转换为长值

转载 作者:行者123 更新时间:2023-12-01 09:27:10 25 4
gpt4 key购买 nike

我有这个方法

public String prepareResponseJson(Object result, ResultCode resultCode, String details) {
ResponseMessage responseMessage = new ResponseMessage<>(result, resultCode, details);
return gson.toJson(responseMessage);
}

JsonSerializer<Date> ser = (src, typeOfSrc, context) -> src == null ? null : new JsonPrimitive(src.getTime());
JsonDeserializer<Date> deser = (json, typeOfT, context) -> json == null ? null : new Date(json.getAsLong());

gson = new GsonBuilder()
.registerTypeAdapter(Date.class, ser)
.registerTypeAdapter(Date.class, deser)
.registerTypeAdapter(XMLGregorianCalendar.class,
new Serializer()).registerTypeAdapter(XMLGregorianCalendar.class,
new Deserializer())
.serializeNulls().create();

当我尝试序列化该模型文件时

private java.util.Date lastModified;

我已将其归档为 Json 字符串

"lastModified": "окт 8, 2015",

但是模型有这个值

lastModified - 2015-10-08

为什么日期转换错误?在其他地方,我的转换器(日期序列化器/反序列化器)工作正常。

最佳答案

您可以在创建GSON实例时指定数据格式:

Gson gson = new GsonBuilder()
.setDateFormat("yyyy-MM-dd").create();

关于Java GSON JsonSerializer 未将模型的日期类型字段转换为长值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39744231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com