JavaBean转JSON字符串时,字段名缺少首字母的问题


问题描述:

javabean中包含有boolean类型的字段suspend,idea自动生成了getSuspend方法和isSuspend方法。
在以前使用orj.json进行json字符串转换时是没有问题的{“suspend”:“true”}。后台同事将json转换方法改为fastjson后得到的结果字符串{“uspend”:“true”},少了个首字母s。

问题原因

JavaBean规范中规定boolean的getter/setter 为isXXX/setXXX,包装类Boolean的getter/setter 为getXXX/setXXX,其中XXX为变量名(IDE生成代码默认就是这种格式)。
fastjson在解析时是根据javaBean的get和set方法获取key的。

解决方法:

手动将isSuspend方法修改为getSuspend方法。
注:isSuspend和getSuspend不能同时存在,否则进行JSON字符串转换时会失败。

发布了16 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/a0604030212/article/details/102815522