fastjson fasjon对象属性未定义,但是写了一个get方法却被序列化方法解析了?

c90pui9n  于 4个月前  发布在  其他
关注(0)|答案(2)|浏览(49)

fasjon对象属性未定义,但是写了一个get方法却被序列化方法解析了?
例如我定义一个对象:

public class Cool {

    public String getName(){
        return "Jack";
    }

    public String getSex(){
        return "男";
    }

}

转json字符串时:

public class FastJsonDemo {

    public static void main(String[] args) {
        System.out.println(JSON.toJSONString(new Cool()));
    }

}

执行结果:

{"name":"Jack","sex":"男"}

这边为什么不以对象定义的属性为标准,先去获取对象属性,然后再找对应的get方法?这边去执行的时候为什么直接对含有get方法直接转json String了呢?

piah890a

piah890a1#

遇到了同样问题,在1.2.62版本下可以复现。

jhkqcmku

jhkqcmku2#

没看懂。。。
按你的代码,你实际上就是定义了属性。

有getter or setter就是属性,而不是field,比如 private String name;

相关问题