前台的数组格式是:

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

  

js数组到后台转 list数组的更多相关文章

  1. angularJS前台传list数组,后台springMVC接收数组

    有时候需要在前台自定义对象,然后把对象封装在list中,在传送到后台,这样的思想也比较合理 1. 前台代码 $scope.saveScore = function () { $scope.userSc ...

  2. js循环处理后台返回的json数组

    <script type="text/javascript"> function gongdan_search(elm){ var dangqian_value=$(e ...

  3. discuz全局数组变量 后台各项设置 完整版

    $_G 保存了 Discuz! 中所有的预处理数据 缓存能够很好的提高程序的性能,一些配置数据没必要每次都查询数据库,只要在修改了的时候更新下缓存即可. Discuz! 中所有的缓存保存在 $_G[c ...

  4. php中向前台js中传送一个二维数组

    在php中向前台js中传送一个二维数组,并在前台js接收获取其中值的全过程方法: (1),方法说明:现在后台将数组发送到前台 echo json_encode($result); 然后再在js页面中的 ...

  5. js巧用apply方法实现数组最值以及合并

    尽管js的apply方法在平常的使用中并不多见,但是在某些地方使用的还是很有帮助性的,这里就和大家说两个比较实用的例子:1.数组最大最小值 求数组中的最大最小值,js有相应的方法:Math.min() ...

  6. JS数组常用函数以及查找数组中是否有重复元素的三种常用方法

    阅读目录: DS01:常用的查找数组中是否有重复元素的三种方法 DS02:常用的JS函数集锦 DS01.常用的查找数组中是否有重复元素的三种方法  1. var ary = new Array(&qu ...

  7. Struts2之提交对象数组至后台

    struts2中有许多很好的特性,比如在设置好getter和setter方法后,加上前端的匹配设置,后台即可自动将前端输入的数据转换为后台的相应的对象. 如现在传入一个Person类的对象,其中Per ...

  8. js之数组,对象,类数组对象

    许久不写了,实在是不知道写点什么,正好最近有个同事问了个问题,关于数组,对象和类数组的,仔细说起来都是基础,其实都没什么好讲的,不过看到还是有很多朋友有些迷糊,这里就简单对于定义以及一下相同点,不同点 ...

  9. JS 学习笔记--5---对象和数组

    1.Object类型(引用类型) 不具备多少功能,但是对于在ECMAScript中存储和传递数据确实,确是很理想的选择. 创建方式:(1).使用new Object();方式创建对象,然后对对象进行设 ...

随机推荐

  1. 【BZOJ】1458: 士兵占领(上下界网络流)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1458 是不是我脑洞太小了.......直接弄上下界最小流........(就当复习了.. 二分图X和 ...

  2. 【TYVJ】1982 武器分配(费用流)

    http://tyvj.cn/Problem_Show.aspx?id=1982 一眼题.. 源向每个人连容量为1,费用为0的边. 每个人向一个中转节点na连容量1,费用0的边(你也可以不连,直接连后 ...

  3. javascript大全

    事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcEl ...

  4. php构造函数,引入数据库操作类函数

    <?php /**     * 基于左右值排序的无限分类算法     * 数据库结果为 CREATE TABLE om_catagory (      CatagoryID int(10) un ...

  5. MS14-082引起的问题

    经常看报道说打了微软的某某补丁出了什么什么问题,但是本人从未亲身经历过,直到MS14-082这个Office补丁的出现,让我也切身体会了一番,有点中奖的感觉. 具体参见: https://suppor ...

  6. fail2ban 保护

    Fail2ban是一款非常使用的软件,它能够监控系统日志,能够有效的防止ssh被暴力破解,下面小编将针对Fail2ban在Linux下的安装和使用给大家做个介绍,一起来了解下吧. https://gi ...

  7. The resource could not be loaded because the App Transport Security policy requires the use of a secure connection

    xmpp 项目中遇到的问题,用苹果的通信API 写一个PUT 方法,向服务器上传一张图片.遇到如题问题. Plist 文件没有NSAppTransportSecurity属性 Dic,添加该属性,再添 ...

  8. visio studio2008 删除最近的项目

    visio studio2008  删除最近的项目 创建move.bat: @echo off @REG Delete HKCU\Software\Microsoft\VisualStudio\9.0 ...

  9. mysql关于字符串字段数据类型

    字符串类型 字符串类型指CHAR.VARCHAR.BINARY.VARBINARY.BLOB.TEXT.ENUM和SET.该节描述了这些类型如何工作以及如何在查询中使用这些类型. 类型 大小 用途 C ...

  10. 一个项目软件的大小基本都占用在外部引用的jar包上了。

    1.一个项目几百兆,基本都是外部jar包,引用的. 2.自己本身业务代码并没有那么多的 3.看下meven的仓库大小就知道了,都几百兆