gpt4 book ai didi

java - 使用 GSON 序列化/反序列化简单对象 - 无时区指示器错误

转载 作者:行者123 更新时间:2023-11-30 01:55:29 27 4
gpt4 key购买 nike

我有一个 API,可以接受请求并生成返回的 JSON。该 JSON 是使用下面的对象和我的实用程序类生成的。

当 JSON 返回到应用程序时,我实际上使用完全相同的实用程序类将 JSON 序列化回对象。

但是,我遇到了一个异常(exception)(见下文)。我该如何解决这个问题?我已经尝试了网上能找到的所有方法,但没有任何运气。

对象:

public class MyPerson() {
private String name;
private Date lastEdited;
}

用于转换的实用程序类:

public class GsonUtils {

private static final Gson gson = new GsonBuilder()
.setDateFormat("yyyy-MM-dd'T'hh:mm:ss")
.create();

public static String deserializeObjectToJSON(Object obj) {
return gson.toJson(obj);
}

public static <T> Object serializeObjectFromJSON(String json, Class<T> classType) {
return gson.fromJson(json, classType);
}

public static <T> List<T> serializeListOfObjectsFromJSON(String json, Type listType) {
return gson.fromJson(json, listType);
}
}

错误:

Caused by: java.text.ParseException: Failed to parse date ["2019-02-12T12:00:00.0"]: No time zone indicator     at com.google.gson.internal.bind.util.ISO8601Utils.parse(ISO8601Utils.java:274) ~[gson-2.8.5.jar:na]    at com.google.gson.internal.bind.DateTypeAdapter.deserializeToDate(DateTypeAdapter.java:85) ~[gson-2.8.5.jar:na]    ... 66 common frames omitted

编辑:

接受建议并更新实用程序类,同样的错误:

Caused by: java.text.ParseException: Failed to parse date ["2019-02-12T12:00:00.0"]: No time zone indicator
at com.google.gson.internal.bind.util.ISO8601Utils.parse(ISO8601Utils.java:274) ~[gson-2.8.5.jar:na]
at com.google.gson.internal.bind.DateTypeAdapter.deserializeToDate(DateTypeAdapter.java:85) ~[gson-2.8.5.jar:na]
... 66 common frames omitted

最佳答案

yyyy-MM-dd'T'hh:mm:ss.S
将此作为您的日期格式

关于java - 使用 GSON 序列化/反序列化简单对象 - 无时区指示器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54683532/

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