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的attr方法禁用表单元素禁用输入内容
Jun 23 Javascript
jQuery中insertAfter()方法用法实例
Jan 08 Javascript
JavaScript常用判断写法大全(推荐)
May 30 Javascript
vue实现前进刷新后退不刷新效果
Jan 26 Javascript
浅析JS中回调函数及用法
Jul 25 Javascript
从零开始用electron手撸一个截屏工具的示例代码
Oct 10 Javascript
JS实现滑动导航效果
Jan 14 Javascript
JavaScript实现拖拽效果
Mar 16 Javascript
在VUE style中使用data中的变量的方法
Jun 19 Javascript
解决VUEX的mapState/...mapState等取值问题
Jul 24 Javascript
Vue 列表页带参数进详情页的操作(router-link)
Nov 13 Javascript
TypeScript实用技巧 Nominal Typing名义类型详解
Sep 23 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实现维护文件代码
2007/06/14 PHP
浅谈apache和nginx的rewrite的区别
2013/02/22 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
2013/06/27 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
新闻内页-JS分页
2006/06/07 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
YUI模块开发原理详解
2013/11/18 Javascript
js图片处理示例代码
2014/05/12 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
[原创]javascript typeof id==='string'?document.getElementById(id):id解释
2016/11/02 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
探究数组排序提升Python程序的循环的运行效率的原因
2015/04/01 Python
Python正则表达式匹配中文用法示例
2017/01/17 Python
Python爬虫实例扒取2345天气预报
2018/03/04 Python
python3实现点餐系统
2019/01/24 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
pandas的相关系数与协方差实例
2019/12/27 Python
Python中常用的os操作汇总
2020/11/05 Python
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
比利时的在线灯具店:Lampen24.be
2019/07/01 全球购物
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
2013/03/30 面试题
高中化学教学反思
2014/01/13 职场文书
中学生差生评语
2014/01/30 职场文书
考生诚信考试承诺书
2014/05/23 职场文书
员工廉洁自律承诺书
2014/05/26 职场文书
建筑工地文明标语
2014/10/09 职场文书
三方合作意向书范本
2015/05/09 职场文书
2015重阳节座谈会主持词
2015/07/30 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
2016年庆“七一”主题党日活动总结
2016/04/05 职场文书
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python