一:问题描述
在开发一个测试工具的时候,请求调用其他模块返回的JSONObject对象在代码里边强制转换List对象数组成功,但是在后续循环遍历的时候报java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.example.demo.bean.DepartmentInfo错误
具体代码如下:
JSONObject jsonDepat = restTemplate.getForObject(oauthUri+getDepartUrl+"?access_token="
+access_token,JSONObject.class );
List<DepartmentInfo> departmentInfos = (List<DepartmentInfo>)jsonDepat;
for(DepartmentInfo departmentInfo : departmentInfos )
{
departmentInfo.getTenantId();
}
二:解决办法
JSONObject jsonDepat = restTemplate.getForObject(oauthUri+getDepartUrl+"?access_token="+access_token, JSONObject.class ); String jsonStr = JSON.toJSONString( jsonDepat ); List<DepartmentInfo> depatList = JSONArray.parseArray( jsonStr, DepartmentInfo.class);