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 相关文章推荐
广告显示判断
Aug 31 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
May 02 Javascript
jQuery取id有.的值的方法
May 21 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
Mar 06 Javascript
微信小程序  wx.request合法域名配置详解
Nov 23 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
Dec 08 Javascript
Vue概念及常见命令介绍(1)
Dec 08 Javascript
原生的强大DOM选择器querySelector介绍
Dec 21 Javascript
vue实现列表的添加点击
Dec 29 Javascript
详解Angular-Cli中引用第三方库
May 21 Javascript
在vue项目中优雅的使用SVG的方法实例详解
Dec 03 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
Feb 24 Javascript
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
BBS(php &amp; mysql)完整版(二)
2006/10/09 PHP
php比较多维数组中值的大小排序实现代码
2012/09/08 PHP
PHP实现批量生成App各种尺寸Logo
2015/03/19 PHP
php使用MySQL保存session会话的方法
2015/06/18 PHP
js jquery做的图片连续滚动代码
2008/01/06 Javascript
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
jQuery中triggerHandler()方法用法实例
2015/01/19 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
js实现PC端和移动端刮卡效果
2020/03/27 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
Python实现多线程下载文件的代码实例
2014/06/01 Python
Python入门篇之列表和元组
2014/10/17 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
2019/05/13 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
2019/11/11 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
CSS3实现粒子旋转伸缩加载动画
2016/04/22 HTML / CSS
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
数据库基础的一些面试题
2012/02/25 面试题
你懂得怎么写自荐信吗?
2013/12/27 职场文书
《巨人的花园》教学反思
2014/02/12 职场文书
房地产广告词大全
2014/03/19 职场文书
房产继承公证书
2014/04/09 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
2014年小学工作总结
2014/11/26 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书