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

package com.sunweb.util.jsonfactory;
02 
03import java.util.List;
04 
05import com.sunweb.util.jsonfactory.jsontools.JSONArray;
06import com.sunweb.util.jsonfactory.jsontools.JSONException;
07import com.sunweb.util.jsonfactory.jsontools.JSONObject;
08 
09/**
10* @title 公共json数据格式转换
11* @author 贺彬
12*/
13public class ConvertJsonUtils {
14 
15    public ConvertJsonUtils() {
16        super();
17    }
18 
19    /**
20     * 功能:将泛型集合转换成分页json数据
21     *
22     * @param list
23     *            泛型集合
24     * @param countList
25     *            数据集合的总行数
26     * @return 分页json数据
27     */
28    public static String ConvertListToPageJson(List<?> list, int countList) {
29        // 新建一个json数组
30        JSONArray jsonArray = new JSONArray();
31        // 新建一个json对象
32        JSONObject jsonObject = null;
33        // 遍历泛型集合
34        for (Object object : list) {
35            jsonObject = new JSONObject(object);
36            jsonArray.put(jsonObject);
37        }
38        // 转换数据格式
39        String json = jsonArray.toString();
40        // 拼接字符串
41        StringBuffer sb = new StringBuffer();
42        sb.append("{\"totalCount\":");
43        sb.append(countList);
44        sb.append(",\"rows\":");
45        sb.append(json);
46        sb.append("}");
47        String jsonString = sb.toString();
48        return jsonString;
49    }
50    /**
51     * 功能:将泛型集合转换成分页json数据
52     *
53     * @param list
54     *            泛型集合
55     * @param countList
56     *            数据集合的总行数
57     * @return 分页json数据
58     */
59    public static String ConvertListToPageJson(List<?> list){
60        // 新建一个json数组
61        JSONArray jsonArray = new JSONArray();
62        // 新建一个json对象
63        JSONObject jsonObject = null;
64        // 遍历泛型集合
65        for (Object object : list) {
66            jsonObject = new JSONObject(object);
67            jsonArray.put(jsonObject);
68        }
69        // 转换数据格式
70        String json = jsonArray.toString();
71        // 拼接字符串
72        JSONObject jn = new JSONObject();
73        try {
74            jn.put("records", jsonArray);
75        } catch (JSONException e) {
76            // TODO Auto-generated catch block
77            e.printStackTrace();
78        }
79        return jn.toString();
80    }
81 
82}

[文件] Test.java ~ 739B    下载(22)

01package com.sunweb.util.jsonfactory;
02 
03import java.util.ArrayList;
04import java.util.List;
05 
06public class Test {
07 
08    /**
09     * @param args
10     */
11    public static void main(String[] args) {
12        List<Student> list = new ArrayList<Student>();  //创建一个泛型的list集合
13        Student stu = null;
14        for(int i=0;i<20;i++){
15            stu = new Student();
16            stu.setId(i);
17            stu.setName("贺兵"+i);
18            //模拟有20个对象的list集合
19            list.add(stu);
20        }
21       //现在将集合转成json不分页
22       String json1 = ConvertJsonUtils.ConvertListToPageJson(list);
23        System.out.println(json1);
24        //分页,总数20条
25       String json2 = ConvertJsonUtils.ConvertListToPageJson(list, 20);
26        System.out.println(json2);
27    }
28 
29}

[文件] Student.java ~ 316B    下载(16)

01package com.sunweb.util.jsonfactory;
02 
03public class Student {
04    private int id;
05    private String name;
06    public int getId() {
07        return id;
08    }
09    public void setId(int id) {
10        this.id = id;
11    }
12    public String getName() {
13        return name;
14    }
15    public void setName(String name) {
16        this.name = name;
17    }
18}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值