【Java】序列化后isXXX变量没有了

设置DTO的变量的是有isXXX的值的,但是使用fastjson序列化后,这几个变量就不见了。

{
    "cityid":1,
    "cityname":"上海",
    "clienttype":"iphone",
    "glat":139.78120482626642,
    "glng":35.625721171054344,
    "msgid":"19142020721848452861509443234119",
    "overseas":false,
    "strangeLand":true,
    "timestamp":1509443234119
}

很奇怪,为什么isXXX序列化后就没有了呢,然后就去排查,发现默认的setter和getter方法,如果是boolean变量的话默认的get方法用的isxxx

    public boolean isbackground() {
        return isbackground;
    }

    public void setIsbackground(boolean isbackground) {
        this.isbackground = isbackground;
    }

  

这样其实就没有isbackground这个变量的get方法,所以只需要修改isbackground的get方法就可以了。

    public boolean getIsbackground() {
        return isbackground;
    }

    public void setIsbackground(boolean isbackground) {
        this.isbackground = isbackground;
    }

  这样就好了。。。

原文地址:https://www.cnblogs.com/cindy-2014/p/7762896.html