Java Gson java.text.ParseException:无法解析的日期

3 java json gson

我将一个 JSON 对象(一个相当大的 JSON 对象)发送到一个 Java servlet,然后我使用Gson将 JSON 转换为一个对象。虽然当我尝试这样做时,我得到以下信息:

java.text.ParseException:无法解析的日期:“2008 年 5 月 1 日”

我在尝试解析的 JSON 对象中基本上有两种日期格式,第二种日期格式 -似乎有效的一种- 看起来像这样:

Jan 3, 1953 1:01:31 PM
Run Code Online (Sandbox Code Playgroud)

但这里的难点是我无法编辑我发送的 JSON。在尝试使用 Gson 将其序列化为对象之前,有没有一种方法可以修改 JSON 服务器端?

更新

根据这里的要求是我的MemberJSON(我简化了它只是为了考虑相关属性,因为我拥有的实际 JSON 对象具有敏感数据并包含许多不相关的属性):

{
    "birthDate":"Jan 3, 1953 1:01:31 PM",
    "beneficiaries":[
        {
            "terminationDate":"May 1, 2008",
            "birthDate":"Jan 3, 1953",
            "joinDate":"May 1, 2008"
        },
        {
            "terminationDate":"May 1, 2008",
            "birthDate":"Jan 3, 1953",
            "joinDate":"May 1, 2008"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我的 POJO:

public class Member {

    private Date birthDate;
    private ArrayList<Beneficiary> beneficiaries;

    // Getters and Setters...

}

public class Beneficiary extends Member {

    private Date terminationDate;

    // Getters and Setters...

}
Run Code Online (Sandbox Code Playgroud)

小智 5

您可以使用 GsonBuilder 定义日期格式

Gson gson = new GsonBuilder().setDateFormat("你的日期模式").create();