Jquery中增加参数与Json转换代码
更新时间:2009年11月20日 18:04:16 作者:
有时候,我们需要进一步转化为json表达式,参考Ext中的Ext.urlDecode函数,我们可以实现一个相应的jquery中使用的函数。
在jquery中,使用$("#myform").serialize()可以将表单的内容构造成一个querystring,例如width=1680&height=1050这样的表达式,可以转化为json
表达式{"width":"1680","height":"1050"}。
有时候,我们需要进一步转化为json表达式,参考Ext中的Ext.urlDecode函数,我们可以实现一个相应的jquery中使用的函数:
$.par2Json=function(string, overwrite){
var obj = {},
pairs = string.split('&'),
d = decodeURIComponent,
name,
value;
$.each(pairs, function(i,pair) {
pair = pair.split('=');
name = d(pair[0]);
value = d(pair[1]);
obj[name] = overwrite || !obj[name] ? value :
[].concat(obj[name]).concat(value);
});
return obj;
};
如果有必要,可以使用$.toJson(s)转化为Json Object.
如果反过来,将json表达式转化为querystr参数形式,可以使用$.param()方法,或者我们自己实现一个,例如下面代码:
$.json2Par=function(o, pre){
var undef, buf = [], key, e = encodeURIComponent;
for(key in o){
undef = o[key]== 'undefined';
$.each(undef ? key : o[key], function(val, i){
buf.push("&", e(key), "=", (val != key || !undef) ? e(val) : "");
});
}
if(!pre){
buf.shift();
pre = "";
}
return pre + buf.join('');
};
表达式{"width":"1680","height":"1050"}。
有时候,我们需要进一步转化为json表达式,参考Ext中的Ext.urlDecode函数,我们可以实现一个相应的jquery中使用的函数:
复制代码 代码如下:
$.par2Json=function(string, overwrite){
var obj = {},
pairs = string.split('&'),
d = decodeURIComponent,
name,
value;
$.each(pairs, function(i,pair) {
pair = pair.split('=');
name = d(pair[0]);
value = d(pair[1]);
obj[name] = overwrite || !obj[name] ? value :
[].concat(obj[name]).concat(value);
});
return obj;
};
如果有必要,可以使用$.toJson(s)转化为Json Object.
如果反过来,将json表达式转化为querystr参数形式,可以使用$.param()方法,或者我们自己实现一个,例如下面代码:
复制代码 代码如下:
$.json2Par=function(o, pre){
var undef, buf = [], key, e = encodeURIComponent;
for(key in o){
undef = o[key]== 'undefined';
$.each(undef ? key : o[key], function(val, i){
buf.push("&", e(key), "=", (val != key || !undef) ? e(val) : "");
});
}
if(!pre){
buf.shift();
pre = "";
}
return pre + buf.join('');
};
您可能感兴趣的文章:
- jQuery实现立体式数字动态增加(animate方法)
- jQuery实现立体式数字滚动条增加效果
- js实现增加数字显示的环形进度条效果
- JavaScript数组Array对象增加和删除元素方法总结
- 为jquery的ajaxfileupload增加附加参数的方法
- Apache增加最大连接数的方法
- php 数组操作(增加,删除,查询,排序)等函数说明
- MYSQL数据库中的现有表增加新字段(列)
- js简单实现表单中点击按钮动态增加输入框数量的方法
- jquery对table中各数据的增加、保存、删除操作示例
- 数据库中两张表之间的数据同步增加、删除与更新实现思路
- json数据处理技巧(字段带空格、增加字段、排序等等)
- JavaScript实现数值自动增加动画
相关文章
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
本文给大家分享的是使用jQuery结合CSS3制作的仿猎豹浏览器宽屏banner焦点图特效,代码很简单,效果却非常棒,而且兼容各大浏览器,这里推荐给大家,有需要的小伙伴参考下。2015-03-03jQuery中ajax请求后台返回json数据并渲染HTML的方法
今天小编就为大家分享一篇jQuery中ajax请求后台返回json数据并渲染HTML的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-08-08jQuery Datatable 多个查询条件自定义提交事件(推荐)
这篇文章主要介绍了jQuery Datatable 多个查询条件自定义提交事件的相关资料,需要的朋友可以参考下2017-08-08关于jquery input textare 事件绑定及用法学习
目前1.7以上,jquery的事件绑定已经用on替换了原来的bind,接下来为大家介绍下bind的使用方法及input textare事件,感兴趣的朋友可以参考下哈2013-04-04
最新评论