今天在做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即可。