请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

最后测试请求出现了JSONObject cannot be cast toJSONArray

https://img1.sycdn.imooc.com//szimg/5adaa7f500015f9508190188.jpg
convert()方法和您的一摸一样,但就是出现JSONObject cannot be cast toJSONArray这个错误,解析JSon数据的代码替换成了您写的代码,但还是会报这个错误。
https://img1.sycdn.imooc.com//szimg/5adaa98c0001fbfe07230255.jpg
这个是我的代码地址,麻烦您帮我看一下是哪里出错了,万分感谢

正在回答 回答被采纳积分+3

2回答

提问者 星空1568 2018-04-22 15:54:09

已经解决了,出错原因是返回的数据不正确。请求后返回的数据是拦截器中的得到本地存储的数据text.json。

在RestCreater中把拦截器去掉就可以了


0 回复 有任何疑惑可以回复我~
傅猿猿 2018-04-22 00:17:25

原因是这样的,你的JSONObject是要从字符串转化过来的,但是JsonArray是get出来的,不是转化的,其实是jsonObj.getJSONArray('data')这样的方法,去从已有的JSONObject里获取Array,而不是转换,不同类型,就好像把String转换成数组一样,是会报错的

0 回复 有任何疑惑可以回复我~
  • 提问者 星空1568 #1
    那老师,您写的代码是
    final JSONArray dataArray = JSON.parseObject(getJsonData()).getJSONArray("data");
    这句代码,String转换成JSONObject,再从JSONObject获取JSONArray,不应该是错误的吗,您的怎么没报错?
    回复 有任何疑惑可以回复我~ 2018-04-22 10:36:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信