Jquery中增加参数与Json转换代码


Posted in Javascript onNovember 20, 2009

在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(''); 
};
Javascript 相关文章推荐
基于jQuery的倒计时实现代码
May 30 Javascript
JSON语法五大要素图文介绍
Dec 04 Javascript
用Jquery重写windows.alert方法实现思路
Apr 03 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
Oct 23 Javascript
TypeError document.getElementById(...) is null错误原因
May 18 Javascript
开启Javascript中apply、call、bind的用法之旅模式
Oct 28 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
Oct 30 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
Dec 29 Javascript
H5上传本地图片并预览功能
May 08 Javascript
jQuery中常用动画效果函数知识点整理
Aug 19 jQuery
vant中的toast轻提示实现代码
Nov 04 Javascript
jQuery+ajax实现文件上传功能
Dec 22 jQuery
ExtJS的FieldSet的column列布局
Nov 20 #Javascript
页面版文本框智能提示JS代码
Nov 20 #Javascript
js url传值中文乱码之解决之道
Nov 20 #Javascript
js trim函数 去空格函数与正则集锦
Nov 20 #Javascript
div移动 输入框不能输入的问题
Nov 19 #Javascript
ExtJS Window 最小化的一种方法
Nov 18 #Javascript
JS获取dom 对象 ajax操作 读写cookie函数
Nov 18 #Javascript
You might like
PHP仿盗链代码
2012/06/03 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
2016/01/07 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
Node.js生成HttpStatusCode辅助类发布到npm
2013/04/09 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
2014/06/02 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
angular4中引入echarts的方法示例
2019/01/29 Javascript
如何实现一个简易版的vuex持久化工具
2019/09/11 Javascript
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
详细解读Python中解析XML数据的方法
2015/10/15 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
大二自我鉴定
2014/01/31 职场文书
初中生自我评价
2014/02/01 职场文书
服务质量承诺书
2014/03/27 职场文书
数学系毕业生求职信
2014/05/29 职场文书
HR求职自荐信范文
2014/06/21 职场文书
学校安全管理责任书
2014/07/23 职场文书
公司授权委托书样本
2014/09/15 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
学生会个人总结范文
2015/02/15 职场文书
加班费申请报告
2015/05/15 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏