前台的數組格式是:
[{"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));//保存方法, } }