fastjson JSON.toJavaObject() 实体类首字母大写属性无法解析问题

当实体类中存在如CREATE_TIME这样首字母为大写的属性时,使用
JSON.toJavaObject(json, clazz)将json转换为java对象后,大写字母开头的属性会无法取到值,打断点进入该方法源码后,发现首字母大写的属性会被转化为首字母小写。这里写图片描述

而在将该属性设置为public 后,首字母不会被转换为小写。这里写图片描述

然后具体是在哪里对属性首字母做的处理没有找到。。

因此得到第一个解决办法就是将属性改为public,可以正常将json转换为javabean。但是由此会导致潜在的安全问题,而且不够优雅(手动滑稽)

经查阅fastjson的api后,发现了另一个解决办法,可通过JSON.parseObject(JSON.toJSONString(text), clazz) 方式转换成java对象,多次实验该方法不会将大写的首字母转成小写,并能正常转换。