问题描述:
如图所示,ItemDoc属性类中有一isAD属性,笔者想将其导入Es中。
可以看到,使用fastJson将该对象转换成Json字符串,但是导入Es后出现问题,实体类中的isAD属
性变为aD类型。
问题分析:
通过查阅资料,在该博主博文下面发现fastJson会直接调用实体类的get方法,但IDEA和自动生成的getter中,boolean方法如遇到is开头属性的字段,不会命名为isIsAD,而是会将方法命名为isAD,转换完成后,将is去掉,再将AD首字母小写,就变成了aD这种奇怪的结果。
问题解决:
- 添加
@JSONField(name = "isAD")
- 不能用IDEA自动生成的模板,或者自己改正生成的getter和setter,但是使用lombok时还是无法解决这个问题。