Ajax传输Array数组
最近考试太多,好久没写了,今天正好解决了一个问题,写一下,如果能够给大家带来帮助更好我后端用的是SSM框架,前端是基于Vue先看一下前端请求的代码(方便我描述问题):function submitData(){var data={// 开始的行数start:vExcel.startRow,// 匹配数据m...
·
先看一下前端请求的代码(方便我描述问题):
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方法进行取值
更多推荐
已为社区贡献1条内容
所有评论(0)