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的开发个代阴影的对话框效果代码
Jul 28 Javascript
jquery的ajax请求全面了解
Mar 20 Javascript
不使用jquery实现js打字效果示例分享
Jan 19 Javascript
jQuery实现form表单序列化转换为json对象功能示例
May 23 jQuery
基于elementUI使用v-model实现经纬度输入的vue组件
May 12 Javascript
layui 弹出层值回传解决方式
Nov 14 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
May 11 Javascript
vue element table中自定义一些input的验证操作
Jul 18 Javascript
微信小程序实现电子签名功能
Jul 29 Javascript
js实现数字跳动到指定数字
Aug 25 Javascript
在vue中使用jsonp进行跨域请求接口操作
Oct 29 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
Nov 12 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
php中将地址生成迅雷快车旋风链接的代码[测试通过]
2011/04/20 PHP
php 文件上传类代码
2011/08/06 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
PHP实现提取多维数组指定一列的方法总结
2019/12/04 PHP
javascript 操作Word和Excel的实现代码
2009/10/26 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
javascript中Date format(js日期格式化)方法小结
2015/12/17 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
2016/04/06 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
vue项目中引入Sass实例方法
2019/08/27 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
分析python请求数据
2018/08/19 Python
对Python 3.2 迭代器的next函数实例讲解
2018/10/18 Python
Python Cookie 读取和保存方法
2018/12/28 Python
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
美国翻新电子产品商店:The Store
2019/10/08 全球购物
机械制造与自动化应届生求职信
2013/11/16 职场文书
简历自我评价怎么写好呢?
2014/01/04 职场文书
会计专业自我评价
2014/02/12 职场文书
工商管理专业大学生职业生涯规划范文
2014/03/09 职场文书
企业宗旨标语
2014/06/10 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
纪念9.18事变演讲稿
2014/09/14 职场文书
2015新年联欢晚会开场白
2014/12/14 职场文书
聘任通知书
2015/09/21 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
RestTemplate如何通过HTTP Basic Auth认证示例说明
2022/03/17 Java/Android