String ,JSONArray,JSONObject相互之间的转化

        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转化时发生的错误。

猜你喜欢

转载自blog.csdn.net/qq_36523888/article/details/81206199
今日推荐