Hutool工具类的这个坑你遇到过吗

1,645 阅读1分钟

问题:

在公司里看到这样的代码,将JSON字符串使用工具类转BO对象的时候,发现有的字段获取不到值。代码如下:

BO:

//举例
@Data
public class XXXBO implements Serializable {

	@JsonAlias("pass_word")
	private String password;

@JsonAlias是JackSon的注解,用于反序列化的时候,将JSON中pass_word的值传给password。

实际使用是这样:

JSONUtil.toBean(jsonStr, XXXBO.class);

JSONUtil是Hutool的工具类,将json字符串转为对象。

结果发现,别的字段都好使,就单独pass_word这个赋值出问题。

查看代码发现:

hutool中是将BO(要转成的对象)中的字段名,在JSON中找是否有,没有就转为下划线字符串查找。转的方式是按驼峰形式转换的。所以pasword转换后并不好使。得改为passWord才能转为pass_word;

其他问题:

hutool和Jackson没有关系,那个注解并没有使用到。。。。