|
本帖最后由 老米虫 于 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[fields.length];
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 + "}";
}
}
。。。 |
|