使用spring mvc中fastjson解析date类型失败

在spring mvc中经常使用对象来接受ajax传递的参数,假如使用的是fastjson对参数的解析,对于date类型有时会抛出这样的异常
Exception in thread “main” com.alibaba.fastjson.JSONException: For input string: “9999-09-09”

解决方式一:
指定时间格式
JSON.DEFFAULT_DATE_FORMAT = “yyyy-MM-dd”;

解决方式二:
在字段上使用注解
@JSONField(format=”yyyy-MM-dd”)

测试

public class Test {
    public  static void main(String[] args){

        //JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";
        //默认格式是:yyyy-MM-dd HH:mm:ss

        //year 1000~3000 之间都可以自动转换成date
        //String str = "{userName:'ftinglee',birthday:'1990-09-09'}";
        String str = "{userName:'ftinglee',birthday:'3000-01-01'}";       // error
        //String str = "{userName:'ftinglee',birthday:'3000-01-01 00:00:00'}"; // ok

        Model user = JSON.parseObject(str,Model.class);
    }
}

class Model{

    private String userName;

    // @JSONField(format="yyyy-MM-dd")
    private Date birthday;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
}

猜你喜欢

转载自blog.csdn.net/u010468602/article/details/56844347