1、String 转JSONObjeci,并且转为相关实体类
String jsonStr = service(siteColumnResourceTree); //字符串
JSONObject obj = JSONObject.fromObject(jsonStr); //jsonobject对象
JSONArray arr = JSONArray.fromObject(obj); //jsonarray对象
List list = (List) JSONArray.toCollection(arr,CmSiteColumn.class); / /相关实体类的集合
2、String转JSONArray,并且转化为相关实体类的集合
String Str = treemap.get("result").toString(); //String 字符串
JSONArray myJsonArray = JSONArray.fromObject(Str); //jsonarray对象
List<SubWebSiteRole> list1 = (List<SubWebSiteRole>) JSONArray.toCollection(myJsonArray, SubWebSiteRole.class);//相 关实体类的集合
3、如果从jsonobject强制类型转化为实体类会报错,这时候需要通过以下方法即可解决
CmSiteColumn modal = (CmSiteColumn)list.get(0); //强制类型转化
Map classMap = new HashMap();
classMap.put("children",CmSiteColumn.class);
CmSiteColumn deptment =( CmSiteColumn) JSONObject.toBean(JSONObject.fromObject(modal), CmSiteColumn.class, classMap);
通过以上方式可避免JSONObject转化时发生的错误。