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 相关文章推荐
ArrayList类(增强版)
Apr 04 Javascript
jquery下实现overlay遮罩层代码
Aug 25 Javascript
js实现拖拽 闭包函数详细介绍
Nov 25 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
Aug 04 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
Oct 23 Javascript
分享javascript、jquery实用代码段
Oct 20 Javascript
微信小程序 request接口的封装实例代码
Apr 26 Javascript
js获取浏览器的各种属性
Apr 27 Javascript
详解Angular 开发环境搭建
Jun 22 Javascript
Javascript实现时间倒计时效果
Jul 15 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
Aug 13 Javascript
小程序实现密码输入框
Nov 16 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
解析smarty模板中类似for的功能实现
2013/06/18 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
ext监听事件方法[初级篇]
2008/04/27 Javascript
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
我的javascript 函数链之演变
2011/04/07 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
js省市区级联查询(插件版&无插件版)
2017/03/21 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
基于JS对象创建常用方式及原理分析
2017/06/28 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
Vue实现商品分类菜单数量提示功能
2019/07/26 Javascript
使用 UniApp 实现小程序的微信登录功能
2020/06/09 Javascript
vue 实现根据data中的属性值来设置不同的样式
2020/08/04 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
Python 抓取动态网页内容方案详解
2014/12/25 Python
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
Python 实现数据库(SQL)更新脚本的生成方法
2017/07/09 Python
Python生成器generator用法示例
2018/08/10 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
浅谈python写入大量文件的问题
2018/11/09 Python
Python异常处理知识点总结
2019/02/18 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
莫斯科的韩国化妆品店:Sifo
2019/12/04 全球购物
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
聘用意向书范本
2014/04/01 职场文书
区域销售主管岗位职责
2014/06/15 职场文书
党员演讲稿
2014/09/04 职场文书
2014年教师节演讲稿范文
2014/09/10 职场文书
办公室班子四风问题对照检查材料
2014/10/04 职场文书
pytest进阶教程之fixture函数详解
2021/03/29 Python
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL