zoukankan      html  css  js  c++  java
  • 将java类的泛型集合转换成json对象

    一般用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;
        }
    }
    http://outofmemory.cn/code-snippet/4036/jiang-java-class-generic-set-turn-huancheng-json-object

  • 相关阅读:
    winform 计算器
    ajax无刷新上传图片
    Dapper的基本使用
    补充1
    Ajax2
    Ajax1
    jQuery2
    Select查询语句2
    jQuery1
    分页与组合查询
  • 原文地址:https://www.cnblogs.com/ae6623/p/4416358.html
Copyright © 2011-2022 走看看