js数组传值,提交时到后台用string接受数组形式字符串
2012-03-22 13:51
441 查看
如: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();
}
}
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以json形式提交数据,后台接受
- js以json形式提交数据,后台接受
- ajax 参数data问题 data中的 参数名 参数值为string 提交到后台后,会自动转换参数名相同的 类型 和 js字符串拼接
- js 转json格式的字符串为对象或数组(前后台)
- js 动态根据后台接受的Map<String,String>参数 动态增加参数input框
- 后台将对象转换为json格式,前台js解析json数据,将字符串转化为数组
- js中的Array对象转成字符串;java中的List转成String数组, List集合的合并
- js数组:string(字符串的对象包装类型),Array(引用类型)
- SpringMVC如何接受 js jquery ajax 的数组参数传值
- String类型转换成数组,并Json形式提交
- C# string字符串转换为字节数组和转换为16进制的字符串形式
- js前台传递json字符串数组到后台有后台转换成list集合或其他格式的问题解决
- 前台js数组json字符串,后台json字符串转为json数组,最后转换成集合的具体实现
- js数组传值 到后台处理(json)
- JS的数组转换字符串方法toString、toLocaleString、join和valueOf — 第5.2.1节
- js使用ajax传值给后台,后台返回字符串处理
- java 后台使用gson 将json字符串转换为List<Map<String,object>> 数组
- 记一下angular.js 1.x 关于post提交后台无法接受数据解决方案
- js选择checkbox值,组织成key-value形式,传值到后台
- 前台的js对象数组传到后台处理。在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>