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 相关文章推荐
js静态作用域的功能。
Dec 25 Javascript
JQuery对class属性的操作实现按钮开关效果
Oct 11 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
Dec 16 Javascript
jquery序列化表单以及回调函数的使用示例
Jul 02 Javascript
jquery中animate的stop()方法作用实例分析
Jan 30 Javascript
你所不了解的javascript操作DOM的细节知识点(一)
Jun 17 Javascript
AngularJS转换响应内容
Jan 27 Javascript
jQuery实现淡入淡出的模态框
Feb 09 Javascript
Vue.js鼠标悬浮更换图片功能
May 17 Javascript
ReactJs设置css样式的方法
Jun 08 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
Mar 15 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
Dec 07 Vue.js
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+mysql分页代码详解
2008/03/27 PHP
php页面防重复提交方法总结
2013/11/25 PHP
json 定义
2008/06/10 Javascript
JavaScript打字小游戏代码
2011/12/26 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
jQuery操作select下拉框的text值和value值的方法
2014/05/31 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
JavaScript数据类型详解
2015/04/01 Javascript
JQuery插入DOM节点的方法
2015/06/11 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
js实现简单商品筛选功能
2021/02/02 Javascript
[02:23]2018DOTA2亚洲邀请赛趣味视频——反应测试
2018/04/04 DOTA
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
python利用多种方式来统计词频(单词个数)
2019/05/27 Python
Python pip替换为阿里源的方法步骤
2019/07/02 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
python反转列表的三种方式解析
2019/11/08 Python
解决tensorflow由于未初始化变量而导致的错误问题
2020/01/06 Python
python实现图像全景拼接
2020/03/27 Python
Python Process创建进程的2种方法详解
2021/01/25 Python
分公司经理岗位职责
2013/11/11 职场文书
电台实习生求职信
2014/02/25 职场文书
2014年个人工作总结范文
2014/11/07 职场文书
先进个人事迹材料范文
2014/12/30 职场文书
2019七夕节祝福语36句,快来收藏吧
2019/08/06 职场文书
演讲稿之我的初心我的成长
2019/08/12 职场文书
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers
排查Tomcat进程假死的问题
2022/05/06 Servers
JDK8中String的intern()方法实例详细解读
2022/09/23 Java/Android