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

如: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();
}
}
     
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值