////扩展添加序列化函数,表单序列化json对象
我们提供的服务有:网站设计制作、网站设计、微信公众号开发、网站优化、网站认证、惠东ssl等。为上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的惠东网站制作公司
$.fn.serializeObject = function() {
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [ o[this.name] ];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
//调用:$('form表单').serializeObject();
用jQuery.parseJSON(str)来转
接受一个JSON字符串,返回解析后的对象。
一般会这么写
$.parseJSON('"{test:1}"')
或者也可以
jQuery.parseJSON('"{test:1}"')
结果都是一样的,转换出来的就是json对象
当然也可以选择使用原生方法JSON.parse(str)
JSON.stringify(要转换的object对象)。此方法返回的就是一个类似于 {“name”:"张三","age":18} 这样的字符串
可以用JSON.stringify(object)
Firefox、Opera、IE8以上版本提供了本地JSON支持。其中,JSON解释器提供的函数有:JSON.parse、JSON.stringify。
如果需要兼容IE8一下的浏览器版本, 可以引用附件中的js文件
jQuery中使用jQuery.parseJSON()方法将字符串转为json格式
例如:
jQuery.parseJSON('{"test":1}');
注意:
传入格式有误的 JSON 字符串可能导致抛出异常。例如,下面这些无效的 JSON 字符串:
{test: 1} //(test 没有使用双引号包裹).
{'test': 1} //('test' 用了单引号而不是双引号包裹).
"{test: 1}" //(test 没有使用双引号包裹).
"{'test': 1}" //('test' 用了单引号而不是双引号包裹).
"'test'" //('test' 用单引号代替双引号).
".1" //(number 必须以数字开头; "0.1" 将是有效的).
"undefined"// (undefined 不能表示一个 JSON 字符串; 然而null,可以).
"NaN" //(NaN 不能表示一个 JSON 字符串; 用Infinity直接表示无限也是不允许的).
扩展:
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。