Android开发时json转化错误

移动开发 码拜 10年前 (2015-05-11) 1274次浏览 0个评论

E/JSON Parser(22500): Error parsing data org.json.JSONException: Value [{“sex”:””,”intro”:null,”dengji”:”1″,”age”:null,”name”:””}] of type org.json.JSONArray cannot be converted to JSONObject
这是什么鬼啊  求大神解答

5分
很明显告诉你啊。不能从jsonarray转成JSON对象。
需要先JSONArray jsonArray = new JSONArray(“某个字符串”);
比如下面这个。
JSONArray jsonArray = new JSONArray(jsonData.getString(“sign”));
15分
楼上正解,[]类型的是JSONArray  {}类型的是JSONObject,转换时需要注意这些。
{“calendar”: 
    {“calendarlist”: 
            [ 
            {“calendar_id”:”1705″,”title”:”(\u4eb2\u5b50)ddssd”,”category_name”:”\u9ed8\u8ba4\u5206\u7c7b”,”showtime”:”1288927800″,”endshowtime”:”1288931400″,”allDay”:false}, 
            {“calendar_id”:”1706″,”title”:”(\u65c5\u884c)”,”category_name”:”\u9ed8\u8ba4\u5206\u7c7b”,”showtime”:”1288933200″,”endshowtime”:”1288936800″,”allDay”:false} 
            ] 
    } 
}

JSON转换
JSONObject jsonObject = new JSONObject(builder.toString()) 
                            .getJSONObject(“calendar”); 
                    JSONArray jsonArray = jsonObject.getJSONArray(“calendarlist”); 
                    for(int i=0;i<jsonArray.length();i++){ 
                        JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i); 
                        CalendarInfo calendarInfo = new CalendarInfo(); 
                        calendarInfo.setCalendar_id(jsonObject2.getString(“calendar_id”)); 
                        calendarInfo.setTitle(jsonObject2.getString(“title”)); 
                        calendarInfo.setCategory_name(jsonObject2.getString(“category_name”)); 
                        calendarInfo.setShowtime(jsonObject2.getString(“showtime”)); 
                        calendarInfo.setEndtime(jsonObject2.getString(“endshowtime”)); 
                        calendarInfo.setAllDay(jsonObject2.getBoolean(“allDay”)); 
                        calendarInfos.add(calendarInfo); 
                    }

10分
楼上两位,给出痛点:[]类型的是JSONArray  ;{}类型的是JSONObject。不能一把转换,例子楼上有。

你要是怕麻烦,也可以使用Gson,有实体对象就能直接转换,也很方便。

猛戳这里!

5分
楼上答案都给出了。我都不知道我要说什么了。改好可以结贴了。
5分
楼上都这么给力了,我就只能回复了看看,能不能混点分

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Android开发时json转化错误
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!