1.lists里面的Map中的key不为list时均正常
List<Map<String, String>> lists=null;
if(cmtMaps.containsKey("cmtComments")){
lists = JSONArray.parseObject(cmtMaps.get("cmtComments"), List.class);
}
List<Map<String, String>> userLists = JSONArray.parseObject(lists.get(i).get("user"), List.class);
lists.get(i).get("user")得出的为一个List<Map<String,String>>
正常的转换不会出现问题
可是当value为list时报:com.alibaba.fastjson.JSONArray cannot be cast to java.lang.String,这是由于list被强转为string,报出的异常,不是JSONArray转为List<Map<String, String>>时报出的异常
这是由于list被强转为string,报出的异常
解决方法:
List<Map<String, Object>> lists=null;
if(cmtMaps.containsKey("cmtComments")){
lists = JSONArray.parseObject(cmtMaps.get("cmtComments"), List.class);
}
List<Map<String, String>> userLists = JSONArray.parseObject(lists.get(i).get("user").toString(), List.class);
此时userLists数据读取正常