本文主要是介绍jQuery 字符串 和 JSON 相互转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在提交数据时,可能因为接口的原因,需要将JSON数据序列化为字符串,或者将字符串转为JOSN对象。
首先聊一天将JSON数据序列化为字符串
emmmm....小编这次没有骚操作。经查阅jQuery的API后,jQuery 已经有封装好的方法 $.param( obj )
$.param( obj ) ,功能描述:一个用来序列化的一个数组,一个普通的对象,或一个jQuery对象。
经小编测试后,序列化一个数组全是 undefined ,可能是小编姿势不对。下面主要演示对象序列化
var author = {name: 'helang', email: 'helang.love@qq.com'};
var str1=$.param(author);
console.log(str1); // name=helang&email=helang.love%40qq.com
通过 $.param( obj ) 方法成功的序列化成字符串,但是有个"不能算是坑的坑",那就是字符串中的 "@" 被 encodeURIComponent 函数编码了,需要重新解码才能正确显示。
console.log(decodeURIComponent(str1)); // name=helang&email=helang.love@qq.com
通过 decodeURIComponent 函数解码后成功“绕坑”。
接下来说一说将字符串转为JOSN对象
先封装一个 jQuery 的类级别插件扩展,保证在代码的调用上代码风格的统一
$.extend({/* 解析为JSON */"parseJSON":function (str) {var strArr=str.split("&");var searchJSON={};$.each(strArr,function (index,item) {var item=item.split("=");searchJSON[item[0]]=decodeURIComponent(item[1]);});return searchJSON;}
});
调用方法:
var json1=$.parseJSON(str1);
console.log(json1); //{name: "helang", email: "helang.love@qq.com"}
一波完美的操作后,本篇文章的内容就在这里结束了。文章的高潮一般都在结尾部分,所以请在复制代码时,注意示例代码中变量的顺序。别忘了持续关注我,么么哒!
作者:黄河爱浪 QQ:1846492969,邮箱:helang.love@qq.com
微信公众号:
web-7258
,本文原创,著作权归作者所有,转载请注明原链接及出处。更多精彩文章,请扫下方二维码关注我的公众号
这篇关于jQuery 字符串 和 JSON 相互转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!