Java序列化后isXXX变量没有了

Posted 励志SQA女

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
    }

  这样就好了。。。

 

以上是关于Java序列化后isXXX变量没有了的主要内容,如果未能解决你的问题,请参考以下文章

Spark闭包与序列化

Sleep() 方法后的代码片段没有被执行

课堂笔记 0522 javaBean

Java mp4parser 片段序列不连续

关于java的序列化

java中没有getter的瞬态变量[关闭]