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 相关文章推荐
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
Dec 23 Javascript
js option删除代码集合
Nov 12 Javascript
PPK 谈 JavaScript 的 this 关键字 [翻译]
Sep 29 Javascript
jquery CSS选择器笔记
Mar 29 Javascript
JS创建自定义表格具体实现
Feb 11 Javascript
js加密解密字符串可自定义密码因子
May 13 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
Mar 01 Javascript
浅析JavaScript中作用域和作用域链
Dec 06 Javascript
Bootstrap按钮组简单实现代码
Mar 06 Javascript
前端自动化开发之Node.js的环境搭建教程
Apr 01 Javascript
VUE实现图片验证码功能
Nov 18 Javascript
JavaScript实现HSL拾色器
May 21 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
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
php采集文章中的图片获取替换到本地(实现代码)
2013/07/08 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
多浏览器兼容的获取元素和鼠标的位置的js代码
2009/12/15 Javascript
Extjs Ext.MessageBox.confirm 确认对话框详解
2010/04/02 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
jQuery实现的简单拖拽功能示例
2016/09/13 Javascript
Bootstrap的modal拖动效果
2016/12/25 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
JS获取并处理php数组的方法实例分析
2018/09/04 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
2019/06/18 Javascript
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
Python工程师面试题 与Python Web相关
2016/01/14 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
快速入门python学习笔记
2017/12/06 Python
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
2020/01/13 Python
建筑工程专业毕业生自荐信
2013/10/19 职场文书
微信营销策划方案
2014/02/24 职场文书
劳动工资科岗位职责范本
2014/03/02 职场文书
国培计划培训感言
2014/03/11 职场文书
股东出资证明书范例
2014/10/04 职场文书
泰山导游词
2015/02/02 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书