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));//保存方法,
	}	
}

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM