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 相关文章推荐
学习YUI.Ext 第三天
Mar 10 Javascript
javascript 用函数语句和表达式定义函数的区别详解
Jan 06 Javascript
JavaScript中的console.log()函数详细介绍
Dec 29 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
Sep 18 Javascript
跟我学习javascript的严格模式
Nov 16 Javascript
详解JavaScript正则表达式之RegExp对象
Dec 13 Javascript
理解JavaScript中worker事件api
Dec 25 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Dec 15 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
Oct 23 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
Dec 26 Javascript
一步一步实现Vue的响应式(对象观测)
Sep 02 Javascript
解决vant的Toast组件时提示not defined的问题
Nov 11 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获取微信共享收货地址的方法
2017/12/21 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
让人印象深刻的10个jQuery手风琴效果应用
2012/05/08 Javascript
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
jquery 淡入淡出效果的简单实现
2014/02/07 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
jQuery功能函数详解
2015/02/01 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
BootStrap轻松实现微信页面开发代码分享
2016/10/21 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
2017/03/10 Javascript
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
vue-music关于Player播放器组件详解
2017/11/28 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
2015/06/28 Python
在Django的session中使用User对象的方法
2015/07/23 Python
python 爬取微信文章
2016/01/30 Python
Python实现FTP文件定时自动下载的步骤
2020/12/19 Python
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
什么是反射
2012/03/17 面试题
花卉与景观设计系大学生求职信
2013/10/01 职场文书
房屋买卖委托公证书
2014/04/08 职场文书
合伙经营协议书
2014/04/18 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
圣诞节开幕词
2015/01/29 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android