js数组转json并在后台对其解析具体实现


Posted in Javascript onNovember 20, 2013

想必大家在开发过程中也遇到类似问题,如果直接将js获取的数组传给后台,后台是无法区分数组的,因为js数组如果是二维的就是这样的:1,张三,23,2,李四,26

所以在此对其解决方法进行整理。希望能给大家带去帮助

首先需要在js里面对数组进行转换为json格式

js代码如下:

/**
     *js数组转json
     *
     */ 
    function arrayToJson(o) {  
    var r = [];  
    if (typeof o == "string") return "/"" + o.replace(/([/'/"//])/g, "//$1").replace(/(/n)/g, "//n").replace(/(/r)/g, "//r").replace(/(/t)/g, "//t") + "/"";  
    if (typeof o == "object") {  
    if (!o.sort) {  
    for (var i in o)  
    r.push(i + ":" + arrayToJson(o[i]));  
    if (!!document.all && !/^/n?function/s*toString/(/)/s*/{/n?/s*/[native code/]/n?/s*/}/n?/s*$/.test(o.toString)) {  
    r.push("toString:" + o.toString.toString());  
    }  
    r = "{" + r.join() + "}";  
    } else {  
    for (var i = 0; i < o.length; i++) {  
    r.push(arrayToJson(o[i]));  
    }  
    r = "[" + r.join() + "]";  
    }  
    return r;  
    }  
    return o.toString();  
    }

然后是在java后台js该字符串后 对其进行json转换。
com.alibaba.fastjson.JSONArray mainArray=JSON.parseArray(info.getMainparame()); 
     log.debug("数组大小:"+mainArray.size()); 
       for(int i=0;i< mainArray.size();i++){ 
           QybjProduceParam p=new QybjProduceParam(); 
           com.alibaba.fastjson.JSONArray paramObject=(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对象。

如果是一维数组就只转换一次。

Javascript 相关文章推荐
浏览器中url存储的JavaScript实现
Jul 07 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
Aug 21 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
Nov 29 Javascript
功能强大的Bootstrap组件(结合js)
Aug 03 Javascript
jquery心形点赞关注效果的简单实现
Nov 14 Javascript
Vue自定义指令介绍(2)
Dec 08 Javascript
BootStrap组件之进度条的基本用法
Jan 19 Javascript
JS控件bootstrap datepicker使用方法详解
Mar 25 Javascript
详解Node项目部署到云服务器上
Jul 12 Javascript
element ui table(表格)实现点击一行展开功能
Dec 04 Javascript
node.js实现为PDF添加水印的示例代码
Dec 05 Javascript
jQuery控制input只能输入数字和两位小数的方法
May 16 jQuery
javascript 循环调用示例介绍
Nov 20 #Javascript
jquery实现可拖动DIV自定义保存到数据的实例
Nov 20 #Javascript
JavaScript实现多维数组的方法
Nov 20 #Javascript
jQuery jcrop插件截图使用方法
Nov 20 #Javascript
javascript中的if语句使用介绍
Nov 20 #Javascript
js控制表单不能输入空格的小例子
Nov 20 #Javascript
js中Image对象以及对其预加载处理示例
Nov 20 #Javascript
You might like
PHP strtr() 函数使用说明
2008/11/21 PHP
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
2011/11/07 PHP
基于php 随机数的深入理解
2013/06/05 PHP
php 在字符串指定位置插入新字符的简单实现
2016/06/28 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
2017/05/11 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
2010/03/21 Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
2011/11/30 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
ES6中如何使用Set和WeakSet
2016/03/10 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
vue读取本地的excel文件并显示在网页上方法示例
2019/05/29 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
JQuery使用数组遍历跳出each循环
2020/09/01 jQuery
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
python将字符串转换成数组的方法
2015/04/29 Python
Python中死锁的形成示例及死锁情况的防止
2016/06/14 Python
python安装pywin32clipboard的操作方法
2019/01/24 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
Django发送邮件功能实例详解
2019/09/02 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
结婚老公保证书
2015/02/26 职场文书
2016年党校科级干部培训班学习心得体会
2016/01/06 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
优秀员工演讲稿
2019/06/21 职场文书