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了呢?
2条答案
按热度按时间piah890a1#
遇到了同样问题,在1.2.62版本下可以复现。
jhkqcmku2#
没看懂。。。
按你的代码,你实际上就是定义了属性。
有getter or setter就是属性,而不是field,比如 private String name;