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

时间:2015-10-29 07:52:56

标签: java json gson

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

  

java.text.ParseException:Unparseable date:" 2008年5月1日"

我在JSON对象中实际上有两种格式的日期我试图解析,第二种日期格式 - 似乎的工作 - 看起来像这样:

Jan 3, 1953 1:01:31 PM

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

更新

这里要求的是我的Member JSON(我简化它只是为了考虑相关属性,因为我拥有的实际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"
        }
    ]
}

我的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...

}

1 个答案:

答案 0 :(得分:2)

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

  

Gson gson = new GsonBuilder()。setDateFormat(“your date pattern”)。create();