gpt4 book ai didi

java - 无法从 JSON 解析 "Date"

转载 作者:行者123 更新时间:2023-12-02 10:24:09 26 4
gpt4 key购买 nike

我在 REST 响应中有以下 JSON 字符串:

"09:41:50 CET"

对应的 POJO 映射器类具有该字段的 Date 类型。因此,我尝试使用 Jackson 和 GSON 将 JSON 映射到 Java 对象,但都失败并显示以下消息:

GSON: java.text.ParseException: Failed to parse date ["09:41:50 CET"]: Invalid number: 09:4
<小时/>
Jackson: InvalidFormatException: Cannot deserialize value of type `java.util.Date` from
String "09:41:50 CET": not a valid representation

遗憾的是,我无法在 POJO 类中将类型修改为字符串或其他任何内容,因为我从 mvn 依赖项获取这些 POJO 类。

最佳答案

试试这个:

public static void main(String[] args) throws ParseException {

String jsonStr = "{ \"date\" : \"09:41:50 CET\" }";
Gson gson = new GsonBuilder().setDateFormat("HH:mm:ss").create();
JsonElement element = gson.fromJson (jsonStr, JsonElement.class);

OnlyDate date =gson.fromJson(element, new TypeToken<OnlyDate>(){}.getType());

System.out.println(date.getDate());

}
<小时/>

我的示例 DTO 是:

public class OnlyDate implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;

@SerializedName("date")
private Date date ;

public Date getDate() {
return date;
}

public void setDate(Date date) {
this.date = date;
}


}

您必须指定 gson 元素的 dateFormat

关于java - 无法从 JSON 解析 "Date",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54106293/

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