解析从Gson获得的json时出错

时间:2012-10-10 12:47:44

标签: json hashmap gson

我已经使用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

1 个答案:

答案 0 :(得分:0)

错误说明了一切,你实际得到的是一个包含数组的对象,所以你应该做的是:

JSONObject obj=new JSONObject(str);

然后你将拥有此对象中包含的数组。