java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to
程序员文章站
2024-01-02 12:59:52
今天遇到了一个bug:java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to com.dto.resumeHrSearchDTO出错代码如下:// json字符串String json = companyUserResumeSearchHistory.getJson();// 将json字符串解析为json对象JSONObject jsonObject = JSONObject.parseO...
今天遇到了一个bug:
java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to com.dto.resumeHrSearchDTO
出错代码如下:
// json字符串
String json = companyUserResumeSearchHistory.getJson();
// 将json字符串解析为json对象
JSONObject jsonObject = JSONObject.parseObject(json);
// 将json对象转换为自定义对象
resumeHrSearchDTOList.add(resumeHrSearchDTO(jsonObject));
这样代码可以过编译,但是运行时会报错,错误显示在第三行代码。
意思是不能直接把json对象强转为自定义的resumeHrSearchDTO类对象。
修改后正确代码为:
// json字符串
String json = companyUserResumeSearchHistory.getJson();
// 将json字符串解析为json对象
JSONObject jsonObject = JSONObject.parseObject(json);
// 将json对象转换为自定义对象
ResumeHrSearchDTO resumeHrSearchDTO = JSON.toJavaObject(jsonObject, ResumeHrSearchDTO.class);
// 添加到集合中
resumeHrSearchDTOList.add(resumeHrSearchDTO);
结论:需要使用JSON.toJavaObject()方法先把json对象转换为Java对象,才能再转换为自定义的类对象。
本文地址:https://blog.csdn.net/qq_42804736/article/details/109647760
推荐阅读
-
java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to
-
解决cannot be cast to javax.servlet.Filter 报错的问题
-
Set集合中的treeSet问题:cannot be cast to java.lang.Comparable;
-
SQL中使用sum()应该程序报错:java.math.BigDecimal cannot be cast to java.lang.Integer
-
java.util.LinkedHashMap cannot be cast to xxx
-
dubbo java.lang.ClassCastException: java.lang.String cannot be cast to java.lan
-
dubbo java.lang.ClassCastException: java.lang.String cannot be cast to java.lan
-
关于Object数组强转成Integer数组的问题:Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer;
-
关于使用maven + Tomcat7-maven-plugin管理并运行web项目抛出cannot be cast to javax.servlet.Servlet的问题和解决
-
net.sf.json.JSONArray cannot be cast to [Ljava.lang.Object