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

来源:10-5 多布局高可用性RecyclerView封装和数据解析器-2

星空1568

2018-04-21

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

写回答

2回答

星空1568

提问者

2018-04-22

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

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


0
0

傅猿猿

2018-04-22

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

0
1
星空1568
那老师,您写的代码是 final JSONArray dataArray = JSON.parseObject(getJsonData()).getJSONArray("data"); 这句代码,String转换成JSONObject,再从JSONObject获取JSONArray,不应该是错误的吗,您的怎么没报错?
2018-04-22
共1条回复

Android通用框架设计与完整电商App开发

从第一行代码开始教你,通用且一键式配置的框架设计并轻松实现完整电商App

2028 学习 · 1182 问题

查看课程