今天在做Android项目移植的时候总是出现org.json.JSONArray cannot be converted to JSONObject异常,本着资源共享的理念,将异常处理过程以及引发该异常的原因分享给大家。希望给各位朋友提供那么一点点的帮助,哈哈(废话说多了)。
下面给出一段Json字符串,已这一段字符串为例阐述一下这个异常的解决过程。
{"R":"0","S":"","T":"0","M":[{"C00":"yw","C01":"0","C02":"Web50736501","C03":"0.00","C04":"身份证","C05":"sss","C06":"1","C07":"13256050182","C08":"","C09":"","C10":"","C11":"","C12":"网络会员","C13":"0.00"}]}
这段字符串其实从整体来看,它是一个JSONObject,因为外层内容禁用一个{}包裹着,
从部分来看M的值,其实是一个JSONArray(json数组),因为有中括号([])包裹着大括号({}).
怎样才能引起上面的异常?
假如在解析json字符串时将M的值当做一个JSONObject解析,则会出现以上异常,程序会提示你json数组不能解析成json对象。
解决它仅需要将JSONObject替换成JSONArray即可。