解决FastJson com.alibaba.fastjson.JSONObject cannot be cast to的问题
2017-06-22 23:52
856 查看
FastJson的pom依赖:
听闻FastJson使用特别的算法,速度非常快,甚至快过Google的protobuf,所以选择使用FastJson来做Json的处理,具体产生Json字符串的代码如下:
此时的Json字符串如下所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/14/80d484217ab153e5669e386ca3fe5eda)
可以看见,这个json字符串内有一个内置的List
出现题目的cast Exception的解析方式如下:
debug发现,其实那是一个JsonObject
![](https://oscdn.geek-share.com/Uploads/Images/Content/202008/14/510c9b4af3292758ae6a3902803aaf51)
解决方法:
用下面这种方式来解析List
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.33</version> </dependency>
听闻FastJson使用特别的算法,速度非常快,甚至快过Google的protobuf,所以选择使用FastJson来做Json的处理,具体产生Json字符串的代码如下:
List<Student> studentList = new ArrayList<Student>(); Student student1 = new Student(); student1.setId(1); List<String> resultNumbers = new ArrayList<String>(); resultNumbers.add("12"); resultNumbers.add("23"); student1.setResultNumber(resultNumbers); Student student2 = new Student(); student2.setId(1); List<String> resultNumbers2 = new ArrayList<String>(); resultNumbers2.add("45"); resultNumbers2.add("56"); student2.setResultNumber(resultNumbers); studentList.add(student1); studentList.add(student2); Map<String, Object> map = new HashMap<String, Object>(); map.put("count", 2); map.put("studentList", studentList); String json = JSON.toJSONString(map, true);
此时的Json字符串如下所示:
可以看见,这个json字符串内有一个内置的List
出现题目的cast Exception的解析方式如下:
HashMap parseMap = JSON.parseObject(json, HashMap.class); List<Student> studentList1 = (List<Student>) parseMap.get("studentList"); for(Student student : studentList1){ // Exception System.out.println(student.getId() + " "); }
debug发现,其实那是一个JsonObject
解决方法:
用下面这种方式来解析List
List<Student> studentList1 = JSON.parseArray(JSON.parseObject(json).getString("studentList"), Student.class);
相关文章推荐
- java.lang.String cannot be cast to com.alibaba.fastjson.JSONObject解决办法
- com.alibaba.fastjson.JSONObject cannot be cast to
- java.lang.String cannot be cast to com.alibaba.fastjson.JSONObject
- com.alibaba.fastjson.JSONObject cannot be cast to com.google.gson.internal.LinkedTreeMap
- java.lang.String cannot be cast to com.alibaba.fastjson.JSONObject
- com.alibaba.fastjson.JSONArray cannot be cast to com.alibaba.fastjson.JSONObject
- com.alibaba.fastjson.JSONObject cannot be cast to com.panodata.model.riskUtil.ModelPOBean
- JSON字符串转javabean,MorphDynaBean cannot be cast to...问题解决
- Spring+hibernate中的问题解决:java.lang.ClassCastException: $Proxy6 cannot be cast to com.mqEsb.service.imp
- Java-Spring:java.lang.ClassCastException: com.sun.proxy.$Proxy* cannot be cast to***问题解决方案
- 解决spring使用动态代理类型转换失败的问题--java.lang.ClassCastException: com.sun.proxy.$Proxy$ cannot be cast to ...
- com.itnba.maya.domel.Diaoyantimu_$$_javassist_1 cannot be cast to javassist.util.proxy.Proxy错误问题解决方法
- java.lang.ClassCastException: com.sun.proxy.$Proxy* cannot be cast to***问题解决方案
- 解决:[Ljava.lang.Object; cannot be cast to com.sinone.domain.StorageCount
- 解决spring使用动态代理类型转换失败的问题--java.lang.ClassCastException: com.sun.proxy.$Proxy$ cannot be cast to ...今天
- 解决spring使用动态代理类型转换失败的问题--java.lang.ClassCastException: com.sun.proxy.$Proxy$ cannot be cast to ...
- 关于“JSONObject cannot be resolved to a type”问题的解决
- java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection异常问题解决
- java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection异常问题解决
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.xdcjc.model.D_Users