将java类的泛型集合转换成json对象

来源:互联网 发布:武汉java培训机构 编辑:程序博客网 时间:2024/06/14 19:16
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;    }}
0 0