老米虫 发表于 2014-1-21 17:57:48

jeecg建议

本帖最后由 老米虫 于 2014-1-22 09:46 编辑

3.4.2
org.jeecgframework.tag.core.easyui.TagUtil类中将list转为json字符串的代码中没有考虑特殊字符的处理
如单引号,当字段有单引号出现的时候JSONObject.fromObject()会解析失败并且报错
拼json字符串时建议使用StringBuilder
。。。
private static String listtojson(String[] fields, int total, List list,String[] footers) throws Exception {
                Object[] values = new Object;
                String jsonTemp = "{\'total\':" + total + ",\'rows\':[";
                for (int j = 0; j < list.size(); j++) {
                        jsonTemp = jsonTemp + "{\'state\':\'closed\',";
                        for (int i = 0; i < fields.length; i++) {
                              String fieldName = fields.toString();
                              if(list.get(j) instanceof Map){
                                        values = ((Map)list.get(j)).get(fieldName);
                              }else{
                                        values = fieldNametoValues(fieldName, list.get(j));
                              }
问题---〉                        jsonTemp = jsonTemp + "\'" + fieldName + "\'" + ":\'" + values + "\'";
                              if (i != fields.length - 1) {
                                        jsonTemp = jsonTemp + ",";
                              }
                        }
                        if (j != list.size() - 1) {
                              jsonTemp = jsonTemp + "},";
                        } else {
                              jsonTemp = jsonTemp + "}";
                        }
                }
。。。
页: [1]
查看完整版本: jeecg建议