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
这是什么鬼啊 求大神解答
------解决思路----------------------
很明显告诉你啊。不能从jsonarray转成JSON对象。
需要先JSONArray jsonArray = new JSONArray(“某个字符串”);
比如下面这个。
JSONArray jsonArray = new JSONArray(jsonData.getString("sign"));
------解决思路----------------------
楼上正解,[]类型的是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);
}
------解决思路----------------------
楼上两位,给出痛点:[]类型的是JSONArray ;{}类型的是JSONObject。不能一把转换,例子楼上有。
你要是怕麻烦,也可以使用Gson,有实体对象就能直接转换,也很方便。
猛戳这里!
------解决思路----------------------
楼上答案都给出了。我都不知道我要说什么了。改好可以结贴了。
------解决思路----------------------
楼上都这么给力了,我就只能回复了看看,能不能混点分