js数组传值,提交时到后台用string接受数组形式字符串

原创 2012年03月22日 13:51:18
如:var json=new Array();
         for(var i = 0;i<2;i++){
      {
                   var js = {};
                   js.cjId=i;
json.push(js);
       }
var jsonString =  _ToJSON(json); //jsonString值得结果输出是{0},{1}
如果在java后台要接收 ,以对象形式的话如下
String json=request.getParameter("json");
JSONArray jsonArray = JSONArray.fromObject(json);
    List  sks = new ArrayList();
       Iterator it = jsonArray.iterator();
        while (it.hasNext()) {
      JSONObject jsonObject = JSONObject.fromObject(it.next());
      int t = jsonObject.getInt("cjId");//此处的cjId与传值过来的js里面的属性cjId必须是相同名字的
      sks.add(t);
     }
数组转换方法
function _ToJSON(o){
if(o == null)
return "null";
switch(o.constructor) {
case String:
var s = o; // .encodeURI();
if(s.indexOf("}")<0)s = '"' + s.replace(/(["\\])/g, '\\$1') + '"';
s = s.replace(/\n/g,"\\n");
s = s.replace(/\r/g,"\\r");
return s;
case Array:
var v = [];
for(var i=0; i<o.length; i++)
v.push(_ToJSON(o[i])) ;
if(v.length<=0)return "\"\"";
return "" + v.join(",") + "";
case Number:
return isFinite(o) ? o.toString() : _ToJSON(null);
case Boolean:
return o.toString();
case Date:
var d = new Object();
d.__type = "System.DateTime";
d.Year = o.getUTCFullYear();
d.Month = o.getUTCMonth() +1;
d.Day = o.getUTCDate();
d.Hour = o.getUTCHours();
d.Minute = o.getUTCMinutes();
d.Second = o.getUTCSeconds();
d.Millisecond = o.getUTCMilliseconds();
d.TimezoneOffset = o.getTimezoneOffset();
return _ToJSON(d);
default:
if(o["toJSON"] != null && typeof o["toJSON"] == "function")
return o.toJSON();
if(typeof o == "object") {
var v=[];
for(attr in o) {
if(typeof o[attr] != "function")
v.push('"' + attr + '": ' + _ToJSON(o[attr]));
}
if(v.length>0)
return "{" + v.join(",") + "}";
else
return "{}";       
}
alert(o.toString());
return o.toString();
}
}
     

js 数组 String方法整理

1,join----------数组转换为字符串 var arr=[1,2,3]; arr.join("_");  //'1_2_3" 2,reverse----数组逆序(数组被修改) ...
  • liu__hua
  • liu__hua
  • 2015年07月31日 11:44
  • 1319

JAVA前后台传递数组方法总结

JAVA前后台传递数组方法总结
  • u010688587
  • u010688587
  • 2016年11月28日 15:01
  • 4133

js中如何传递一个字符串

示例: var a="111"; var html="AAA"; 注意点:需要用转义字符
  • yinbucheng
  • yinbucheng
  • 2016年04月07日 16:17
  • 309

js传递数组到后台

标红了哦,这个是关键
  • liu4071325
  • liu4071325
  • 2016年08月05日 10:28
  • 1168

js传递数组到后台

js传递数组到后台
  • zhaohuijiadelu
  • zhaohuijiadelu
  • 2017年01月13日 14:31
  • 10342

js数组传值 到后台处理(json)

在项目中遇到要在前台传数组到后台去,如果一直用string拼接的话,就感觉有点没那么好用,就想到用传数组。我的处理方式是先将要传的值保存数组,然后由数组转成JSON格式传到后台。 1、js 代码: v...
  • yu757371316
  • yu757371316
  • 2015年07月25日 11:26
  • 4257

JSP传递数组给JS的方法

由于JSP页面的数组无法直接传到JS。所以采用以下方法来获取数组。 var title=new Array(); title[ ]= " "; 原文链接:htt...
  • u012130706
  • u012130706
  • 2017年05月04日 22:56
  • 2161

java list<string>集合 传递值给js的数组

方法一 后台:     String sql = "select * from tree";     list = this.treeService.getTreeList(sql);//l...
  • ahhmdwg
  • ahhmdwg
  • 2014年11月13日 09:07
  • 1845

js传递数组给java后台

最近公司在做一个项目,需要前台js给后台传递数组参数,可是到网上查了下资料比较少,现将各方搜集的资料记录下来,以备以后使用! 1.首先贴出js代码 $scope.logindo = function(...
  • white_ice
  • white_ice
  • 2016年09月21日 10:34
  • 11359

JS当中的数组如果通过JSON格式传递到后台

在开发的过程中。我们往往涉及到一些需求。我们拿到的数据不是一个固定的值。 如下所示: 我们可以看到一个多级树。那么我们要做的就是将选中的节点传递到后台。然后完成我们的业务需求。 于是我们...
  • u013059555
  • u013059555
  • 2015年11月19日 13:45
  • 2138
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js数组传值,提交时到后台用string接受数组形式字符串
举报原因:
原因补充:

(最多只允许输入30个字)