Ajax传输Array数组

先看一下前端请求的代码(方便我描述问题):

function submitData(){
	var data={
		// 开始的行数
		start:vExcel.startRow,
		// 匹配数据
		matchData:vExcel.nowData,
		// 用户选择的Excel表格文件路径
		filePath:vExcel.filePath
	}
	// 请求路径
	var url='attendance/importSQL'
	callAxiosPost(url , data , columnSuc)
}

callAxiosPost是我们自己封装的请求方法,这个根据自己情况更改,在这里可以看到,请求的数据有三个,其中第一个第三个是单纯的String或int类型,但是第二个是一个json数组(绑定的是i-table的值),这个数组我设置的属性有两个,一个是describe,一个是columnNum,在我写的这个页面中这两个属性是用户自己选择的,我在后端获取一定要是匹配的,我的本意是想后端直接转换成JSONArray或者JSONObject,然后通过getString(“describe”)方式获取值,但是不幸失败了

通过查询我找到了这么一种方式(先看一下代码):

// 导入Excel表格中数据到数据库
@RequestMapping(value = "/importSQL", consumes = "application/json;charset=UTF-8")
public void importSQL(@RequestBody String c) {
	JSONObject strj = (JSONObject) JSONObject.parseObject(c);
	List<Relation> relationList = new ArrayList<Relation>();
	// 获取读取Excel表格开始行数
	int start = strj.getInt("start");
	// 获取用户自定义匹配数据
	String json = strj.getJSONArray("matchData").toString();
	// 获取用户上传excel表格保存路径
	String filePath = strj.getString("filePath");
	// 将用户自定义匹配数据放入relationList中,便于取值
	relationList = JSONArray.parseArray(json, Relation.class);
}

上文使用的JSON全部都是阿里的。
在这里我们需要用到一个工具类JSONArray,具体的介绍可以上网百度,但是!!!使用这个方法有一个前提,Relation这个类的属性一定要大于等于你前端传过来的json数组的属性值,且属性名称一定要一致!!!!!!!
可以通过如下方式查看:

for(int i=0;i<relationList.size();i++){
	System.out.println(relationList.get(i).toString());
}

relationList.get(i). 后面会提示这个类的方法,也可以使用get方法进行取值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值