将java类的泛型集合转换成json对象,javajson,一般用extjs开发传输
分享于 点击 18023 次 点评:19
将java类的泛型集合转换成json对象,javajson,一般用extjs开发传输
一般用extjs开发传输都是用json比较多,这个将来大家也许会用到。。。
ConvertJsonUtils.java
package com.sunweb.util.jsonfactory;import java.util.List;import com.sunweb.util.jsonfactory.jsontools.JSONArray;import com.sunweb.util.jsonfactory.jsontools.JSONException;import com.sunweb.util.jsonfactory.jsontools.JSONObject;/** * @title 公共json数据格式转换 * @author 贺彬 */public class ConvertJsonUtils { public ConvertJsonUtils() { super(); } /** * 功能:将泛型集合转换成分页json数据 * * @param list * 泛型集合 * @param countList * 数据集合的总行数 * @return 分页json数据 */ public static String ConvertListToPageJson(List<?> list, int countList) { // 新建一个json数组 JSONArray jsonArray = new JSONArray(); // 新建一个json对象 JSONObject jsonObject = null; // 遍历泛型集合 for (Object object : list) { jsonObject = new JSONObject(object); jsonArray.put(jsonObject); } // 转换数据格式 String json = jsonArray.toString(); // 拼接字符串 StringBuffer sb = new StringBuffer(); sb.append("{\"totalCount\":"); sb.append(countList); sb.append(",\"rows\":"); sb.append(json); sb.append("}"); String jsonString = sb.toString(); return jsonString; } /** * 功能:将泛型集合转换成分页json数据 * * @param list * 泛型集合 * @param countList * 数据集合的总行数 * @return 分页json数据 */ public static String ConvertListToPageJson(List<?> list){ // 新建一个json数组 JSONArray jsonArray = new JSONArray(); // 新建一个json对象 JSONObject jsonObject = null; // 遍历泛型集合 for (Object object : list) { jsonObject = new JSONObject(object); jsonArray.put(jsonObject); } // 转换数据格式 String json = jsonArray.toString(); // 拼接字符串 JSONObject jn = new JSONObject(); try { jn.put("records", jsonArray); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } return jn.toString(); }}
Test.java
package com.sunweb.util.jsonfactory;import java.util.ArrayList;import java.util.List;public class Test { /** * @param args */ public static void main(String[] args) { List<Student> list = new ArrayList<Student>(); //创建一个泛型的list集合 Student stu = null; for(int i=0;i<20;i++){ stu = new Student(); stu.setId(i); stu.setName("贺兵"+i); //模拟有20个对象的list集合 list.add(stu); } //现在将集合转成json不分页 String json1 = ConvertJsonUtils.ConvertListToPageJson(list); System.out.println(json1); //分页,总数20条 String json2 = ConvertJsonUtils.ConvertListToPageJson(list, 20); System.out.println(json2); }}
Student.java
package com.sunweb.util.jsonfactory;public class Student { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
用户点评