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 相关文章推荐
推荐40个简单的 jQuery 导航插件和教程(下篇)
Sep 14 Javascript
jQuery当鼠标悬停时放大图片的效果实例
Jul 03 Javascript
extjs_02_grid显示本地数据、显示跨域数据
Jun 23 Javascript
用队列模拟jquery的动画算法实例
Jan 20 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
Mar 01 Javascript
修改js confirm alert 提示框文字的简单实例
Jun 10 Javascript
Angular自定义组件实现数据双向数据绑定的实例
Dec 11 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
Sep 28 Javascript
angularJs提交文本框数据到后台的方法
Oct 08 Javascript
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
JavaScript Array对象使用方法解析
Sep 24 Javascript
JS实现网站吸顶条
Jan 08 Javascript
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 删除无限级目录与文件代码共享
2008/11/22 PHP
php中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
document.documentElement和document.body区别介绍
2013/09/16 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
AngularJS中的Promise详细介绍及实例代码
2016/12/13 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
vue使用监听实现全选反选功能
2018/07/06 Javascript
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
python获取从命令行输入数字的方法
2015/04/29 Python
python email smtplib模块发送邮件代码实例
2018/04/26 Python
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
深入浅析Python传值与传址
2018/07/10 Python
pandas的qcut()方法详解
2019/07/06 Python
python实现布隆过滤器及原理解析
2019/12/08 Python
使用TensorFlow-Slim进行图像分类的实现
2019/12/31 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
python时间序列数据转为timestamp格式的方法
2020/08/03 Python
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
北大研究生linux应用求职信
2013/10/29 职场文书
新闻专业大学生找工作的自我评价
2013/10/30 职场文书
护理专业大学生自我推荐信
2014/01/25 职场文书
社区党员干部承诺书
2015/05/04 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
负责培养人意见
2015/06/05 职场文书
2015年暑假生活总结
2015/07/13 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers
Python装饰器详细介绍
2022/03/25 Python
Java十分钟精通进阶适配器模式
2022/04/06 Java/Android
Python闭包的定义和使用方法
2022/04/11 Python