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 相关文章推荐
jquery提示 &quot;object expected&quot;的解决方法
Dec 13 Javascript
js 巧妙去除数组中的重复项
Jan 25 Javascript
如何使用Javascript获取距今n天前的日期
Jul 08 Javascript
js截取字符串的两种方法及区别详解
Nov 05 Javascript
js Array操作的最简短最容易理解方法
Dec 09 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
Apr 30 Javascript
jQuery实现网站添加高亮突出显示效果的方法
Jun 26 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
Feb 21 Javascript
原生js仿淘宝网商品放大镜效果
Feb 28 Javascript
Vue.js中对css的操作(修改)具体方式详解
Oct 30 Javascript
小程序最新获取用户昵称和头像的方法总结
Sep 23 Javascript
通过滑动翻页效果实现和移动端click事件问题
Jan 26 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
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
php调用mysql存储过程
2007/02/14 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
2014/02/18 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
2015/11/15 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
js表数据排序 sort table data
2009/02/18 Javascript
用Mootools获得操作索引的两种方法分享
2011/12/12 Javascript
浅谈 javascript 事件处理
2015/01/04 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
2015/03/06 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
原生js制作日历控件实例分享
2016/04/06 Javascript
js ajaxfileupload.js上传报错的解决方法
2016/05/05 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
vue transition 在子组件中失效的解决
2019/11/12 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
vue3.0搭配.net core实现文件上传组件
2020/10/29 Javascript
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python去掉字符串中重复字符的方法
2014/02/27 Python
Python处理CSV与List的转换方法
2018/04/19 Python
Python os.access()用法实例
2019/02/18 Python
超简单使用Python换脸实例
2019/03/27 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
Charlotte Tilbury英国官网:英国彩妆品牌
2017/05/26 全球购物
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
质量整改报告范文
2014/11/08 职场文书
师德师风事迹材料
2014/12/20 职场文书
话题作文之成长
2019/12/09 职场文书
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS