将Jquery序列化后的表单值转换成Json

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Jquery序列化后的表单值转换成Json相关的知识,希望对你有一定的参考价值。

小朋友有一个表单,他想以Json的方式获取到表单的内容。小朋友尝试了以下方式。

通过$("#form").serialize()可以获取到序列化的表单值字符串。

例如:

a=1&b=2&c=3&d=4&e=5

 

通过$("#form").serializeArray()输出以数组形式序列化表单值。

[ 
  {name: ‘firstname‘, value: ‘Hello‘}, 
  {name: ‘lastname‘, value: ‘World‘},
  {name: ‘alias‘}, // 值为空
]

统统不满足小朋友想得到Json的愿望。堆栈溢出后,找到了一个这样的方法

$.fn.serializeObject = function()
{
	var o = {};
	var a = this.serializeArray();
	$.each(a, function() {
		if (o[this.name] !== undefined) {
			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(); 就可以得到Json内容噜。

以上是关于将Jquery序列化后的表单值转换成Json的主要内容,如果未能解决你的问题,请参考以下文章

JQuery将form表单值转换成json字符串函数

jquery怎样把表单中的值转换成json对象

使用jquery将表单自动封装成json对象 /json对象元素的添加删除和转换

从list表单序列化后的值转成标准json

javascript序列化

jQuery将.serialize()数据转换为JSON数据