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 相关文章推荐
从sohu弄下来的flash中展示图片的代码
Apr 27 Javascript
JavaScript window.setTimeout() 的详细用法
Nov 04 Javascript
JS短路原理的应用示例 精简代码的途径
Dec 13 Javascript
一个JavaScript用逗号分割字符串实例
Sep 22 Javascript
JavaScript的类型、值和变量小结
Jul 09 Javascript
JavaScript实现的浮动层框架用法实例分析
Oct 10 Javascript
聊一聊JS中this的指向问题
Jun 17 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
Nov 28 Javascript
基于Jquery Ajax type的4种类型(详解)
Aug 02 jQuery
Webpack实战加载SVG的方法
Dec 26 Javascript
Vue实现图书管理小案例
Dec 03 Vue.js
浅谈vue2的$refs在vue3组合式API中的替代方法
Apr 18 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 session实现多级目录存放实现代码
2016/02/03 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
2020/04/23 PHP
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
为何JS操作的href都是javascript:void(0);呢
2015/11/12 Javascript
微信小程序实现根据字母选择城市功能
2017/08/16 Javascript
详解Angular4 路由设置相关
2017/08/26 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
js html实现计算器功能
2018/11/13 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
js 实现碰撞检测的示例
2020/10/28 Javascript
Python入门篇之面向对象
2014/10/20 Python
Python中IPYTHON入门实例
2015/05/11 Python
Python爬虫使用脚本登录Github并查看信息
2018/07/16 Python
详解Python字典小结
2018/10/20 Python
python创建文件时去掉非法字符的方法
2018/10/31 Python
python根据url地址下载小文件的实例
2018/12/18 Python
对Python发送带header的http请求方法详解
2019/01/02 Python
python实现各种插值法(数值分析)
2019/07/30 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
财产公证书格式
2014/04/10 职场文书
乐观自信演讲稿范文
2014/05/21 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
个人求职自荐信范文
2015/03/06 职场文书
2015年质量管理工作总结范文
2015/05/18 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书