我已经使用GSON将Hashmap转换为json,json字符串如下:
{"records":[{"three":"chingi0","two":"Marge0","five":"Bart0","four":"Maggie0","one":"Homer0"},{"three":"chingi1","two":"Marge1","five":"Bart1","four":"Maggie1","one":"Homer1"}]}
但是在使用json解析此字符串时,它会出现以下错误:
org.json.JSON.typeMismatch
以下是我的代码段
JSONArray jArray=new JSONArray(str);//str is the json string
JSONObject json_data;
for(int i=0;i<jArray.length();i++){
json_data = jArray.getJSONObject(i);
//here i am accessing the data from json string
}
我该如何解决这个问题?
这是我的stacktrace:
org.json.JSONException:Value { “记录”:[{ “三”: “chingi0”, “二”: “Marge0”, “四个一”: “Maggie0”, “五个一”: “Bart0”, “一”: “Homer0”},{”三 “:” chingi1" , “二”: “Marge1”, “四个一”: “Maggie1”, “五个一”: “Bart1”, “一”: “HOMER1”}]} 类型org.json.JSONObject无法转换为JSONArray
答案 0 :(得分:0)
错误说明了一切,你实际得到的是一个包含数组的对象,所以你应该做的是:
JSONObject obj=new JSONObject(str);
然后你将拥有此对象中包含的数组。