js数组转json并在后台对其解析具体实现
2023-06-13 09:15:12 时间
想必大家在开发过程中也遇到类似问题,如果直接将js获取的数组传给后台,后台是无法区分数组的,因为js数组如果是二维的就是这样的:1,张三,23,2,李四,26
所以在此对其解决方法进行整理。希望能给大家带去帮助
首先需要在js里面对数组进行转换为json格式
js代码如下:
/**
*js数组转json
*
*/
functionarrayToJson(o){
varr=[];
if(typeofo=="string")return"/""+o.replace(/([/"/"//])/g,"//$1").replace(/(/n)/g,"//n").replace(/(/r)/g,"//r").replace(/(/t)/g,"//t")+"/"";
if(typeofo=="object"){
if(!o.sort){
for(variino)
r.push(i+":"+arrayToJson(o[i]));
if(!!document.all&&!/^/n?function/s*toString/(/)/s*/{/n?/s*/[nativecode/]/n?/s*/}/n?/s*$/.test(o.toString)){
r.push("toString:"+o.toString.toString());
}
r="{"+r.join()+"}";
}else{
for(vari=0;i<o.length;i++){
r.push(arrayToJson(o[i]));
}
r="["+r.join()+"]";
}
returnr;
}
returno.toString();
}
然后是在java后台js该字符串后对其进行json转换。
com.alibaba.fastjson.JSONArraymainArray=JSON.parseArray(info.getMainparame());
log.debug("数组大小:"+mainArray.size());
for(inti=0;i<mainArray.size();i++){
QybjProduceParamp=newQybjProduceParam();
com.alibaba.fastjson.JSONArrayparamObject=(com.alibaba.fastjson.JSONArray)mainArray.get(i);
p.setParamename(paramObject.get(1).toString());
p.setParamevalue(paramObject.get(2).toString());
params.add(p);
}
info.setParams(params);
大家从java代码里面不难看出,是经过2次转换。每次都是转为JSONArray对象。
如果是一维数组就只转换一次。
相关文章
- 使用 Dynatrace 对 Node.js 应用的性能数据进行分析
- html如何只刷新页面指定,js控制页面刷新 JS刷新当前页面的几种方法总结
- 用JS获取地址栏url参数的方法_js的url是啥
- 微信公众号网页开发-js模拟后台生成signature方法
- JS对象转数组_js怎么把数组转成对象
- 【JS 逆向百例】猿人学系列 web 比赛第二题:js 混淆 - 动态 cookie,详细剖析
- 几个常见的js手写题,你能写出来几道_2023-03-13
- 用Vue.js开发企业管理后台,我做到了
- 微信开放JS SDK,再次给浏览器们上了一课
- 用SQL Server和JS实现数据库管理技术(sqlserver.js)
- JS将文件传输至MySQL数据库(.js传文件至mysql)
- Js+DVML很酷漂亮实用的右键弹出菜单
- asp.net下利用JS实现对后台CS代码的调用方法
- js深拷贝函数
- 用JS控制回车事件的代码
- js实现addClass,removeClass,hasClass的函数代码
- js中的string.format函数代码
- js三种排序算法分享
- JS获取后台Cookies值的小例子
- Js日期选择器并自动加入到输入框中示例代码
- JS:window.onload的使用介绍
- 鼠标滚轴控制文本框值的JS代码
- Asp.net后台添加CSS、JS、Meta标签的方法
- JS将所有对象s的属性复制给对象r(原生js+jquery)
- 深入分析js的冒泡事件