报错如下: Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to com.alibaba.fastjson.JSONObject 原因是:1.2.7版本中里面移除了直接对 String类型的判断导致该错误的发生。
报错如下: Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to com.alibaba.fastjson.JSONObject 原因是:1.2.7版本中里面移除了直接对 String类型的判断导致该错误的发生。
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to com.alibaba.fastjson.JSONObject
at com.alibaba.fastjson.JSON.parseObject(JSON.java:175)
at fastjson.issue2300.Issue2383.main(Issue2383.java:20)
2条答案
按热度按时间shyt4zoc1#
能提供完整堆栈信息么?同时请测试最新版本1.2.57是否解决问题
67up9zun2#
报错如下:
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to com.alibaba.fastjson.JSONObject
原因是:1.2.7版本中里面移除了直接对 String类型的判断导致该错误的发生。
JSONObject本身是用来存储键值对信息用,内部使用的数据结构是map,因此单个String值转化为JSONObject时会报错,类似地,单个的Number/boolean类型也会报错。
我在本地的测试如下:
解析报错:
如果接收的对象是Object,则可以正常解析出此类特殊的JSON文本:
结果如下: