zoukankan      html  css  js  c++  java
  • js数组到后台转 list数组

    前台的数组格式是:

    [{"credit_record_certificate_id":"452","credit_record_type":"294","credit_record_money_sum":"100","credit_record_monthly_amount":"1000","credit_record_actual_money":"1000","credit_record_deadline":"2014-11-24","credit_record_deadline_t":"2014-11-27","credit_record_remark":"备注备注"},{"credit_record_certificate_id":"452","credit_record_type":"298","credit_record_money_sum":"200","credit_record_monthly_amount":"2000","credit_record_actual_money":"2000","credit_record_deadline":"2014-11-26","credit_record_deadline_t":"2014-11-06","credit_record_remark":"备注"}]

    数组格式是这样的,怎么转list的呢?下面我直接粘代码吧,能解释就解释一下,毕竟现在是上班时间!

        /**
         * 根据传入的json数组,返回指定包含类型的集合
         * 
         * @param jsonStr [{id:1,name:gx},{id:2,name:wxm}]
         * @param clazz
         * @return
         * @author xuxiaohua
         */
        public static <T> List<T> jsonArrayToList(String jsonStr, Class<T> clazz) {
            if (jsonStr == null || jsonStr.trim().equals("")) {
                return null;
            }
            List<T> resultList = new ArrayList<T>();
            GsonBuilder builder = new GsonBuilder();
            builder.registerTypeAdapter(java.lang.Double.class, new DoubleAdapter());
            builder.registerTypeAdapter(java.lang.Integer.class, new IntegerAdapter());
            builder.registerTypeAdapter(java.math.BigInteger.class, new BigIntegerAdapter());
            builder.registerTypeAdapter(java.lang.Long.class, new LongAdapter());
            builder.registerTypeAdapter(java.sql.Date.class, new SqlDateAdapter("yyyy-MM-dd"));
            builder.registerTypeAdapter(java.sql.Timestamp.class, new SqlTimestampAdapter("yyyy-MM-dd HH:mm:ss"));
            builder.registerTypeAdapter(java.math.BigDecimal.class, new BigDecimalAdapter());
            Gson gson = builder.create();
            //Gson gson = new Gson();
            JsonParser jsonParser = new JsonParser();
            JsonElement jsonElement = jsonParser.parse(jsonStr); // 将json字符串转换成JsonElement
            JsonArray jsonArray = jsonElement.getAsJsonArray(); // 将JsonElement转换成JsonArray
            Iterator<JsonElement> it = jsonArray.iterator(); // Iterator处理
            while (it.hasNext()) { // 循环
                jsonElement = (JsonElement) it.next(); // 提取JsonElement
                String menu = jsonElement.toString(); // JsonElement转换成String
                if(StringUtil.isBlank(menu)){
                    menu = null;
                }
                T bean = gson.fromJson(menu, clazz); // String转化成JavaBean
                resultList.add(bean); // 加入List
            }
            return resultList;
        }    

    上面代码方法绝对是一个工具方法

    jsonArrayToList

    ,so,你需要建立一个工具类:JsonUtil。

    好了,现在页面要传值过来了,我要用到这个方法了开始吧!

    @Override	
    @Transactional
    public String saveXd(String zxRecord){
    	List<McsCreRevCertificateModelRecordBean> list=  JsonUtil.jsonArrayToList(zxRecord, McsCreRevCertificateModelRecordBean.class);
    	List<McsCreRevCertificateModelRecordBean> revCertificateModelRecordBeans=new ArrayList<McsCreRevCertificateModelRecordBean>();
    	for(McsCreRevCertificateModelRecordBean zxif:list){
    		revCertificateModelRecordBeans.add(zxif);
    	}
    	
    	for(int j=0;j<revCertificateModelRecordBeans.size();j++){
    			mcscrerevcertificatemodelDao.saveRecord(revCertificateModelRecordBeans.get(j));//保存方法,
    	}	
    }
    

      

    时间,请带我像一条小溪流般,安静地流淌,汇入爱的海洋。
  • 相关阅读:
    FpSpread实现筛选的功能
    比较通用的ID,ParentID结构表,返回树路径。
    如何解决,在安装Sql2000时,出现程序挂起的解决方法。
    FarPoint Spread 控件如何实现剪切,粘贴,复制
    MySql中Group By和Order By使用的注意事项!
    php md5下16位和32位的实现代码
    Shadows在C#代替方法!
    FTP命令使用详解
    数据库中存放目录与文件结构,方案选择
    vs2008 sp1下载
  • 原文地址:https://www.cnblogs.com/1246447850qqcom/p/4119092.html
Copyright © 2011-2022 走看看