String 转 JSONArray 日常挖坑填坑

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数据读取正常

猜你喜欢

转载自blog.csdn.net/Zsigner/article/details/83997478
今日推荐