项目场景:
最近的一个接口要进行加解密,涉及客户隐私信息。其实就是把请求的客户信息解密成byte
之后转成json
。
问题描述
这段字符串信息其实是一个List
,但是在转换过程发现转换出现问题,他默认转换的是LinkedHashMap
,并不是一个个的对象。
java
objectMapper.readValue(byteArr, tClass)
tClass
实际上就是List<具体类>,然后转换就会出问题。
原因分析:
传过去的List
中的泛型实际上是根本没有用到,导致只解析了List
,所以默认使用了LinkedHashMap
.
解决方案:
直接上代码:
java
objectMapper.readValue(byteArr, objectMapper.getTypeFactory().constructCollectionType(List.class, tClass));