Ajax+SpringMVC传递JSON数组

使用Ajax传递JSON比较容易,但是如果要传递JSON数组,需要一点小技巧。

而且在实际开发中,当我们需要一次性保存多条记录的时候,表单通过表单提交比较麻烦,但是使用JSON数组来传递就比较方便了,下面看一个例子:

JS中提交请求:

/**
		 * 保存会话阈值
		 */
		save:function(){
			var jsonArr = []; //待传递的JSON数组
			for(var i=0;i<3;i++){//给JSON数组赋值
				var id =...;
				var name = ...;
				var code = ...;
				jsonArr.push({"id":id,"name":name,"code":code});
			}
			$.ajax({
				url:...,
				data:{
					arr:JSON.stringify(jsonArr)//将JSON数组转化为字符串,重要的一步
				},
				success:function(e){
					
				}
			});
		}

  控制层接收请求:

	@RequestMapping("/save")
	public void save(@RequestParam Map<String,Object> param){
		try {
			String jsonData = param.get("arr")==null?"":param.get("arr").toString();
			jsonData=new String(jsonData.getBytes("ISO-8859-1"),"UTF-8");
			List<SysConfig> list = JSONArray.parseArray(jsonData, SysConfig.class);
			service.save(list);
		} catch (Exception e) {
			logger.error(e.getMessage());
		}
	}

这里对JSON的处理使用的是开源的Jar包:fastjson-1.2.3.jar


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值