获取到的input值转换成JSON,可以通过jQuery的serializeArray()方法将表单序列化成一个数组或者通过jQuery的serialize()方法将表单序列化成一个URL编码的字符串,再使用JSON.stringify()方法将数据转化为字符串格式的JSON数据。
下面分别对这两个方法进行详细讲解。
1. 使用serializeArray()方法将表单序列化成一个数组
使用serializeArray()方法将表单序列化成一个数组,可以将一个表单中的所有值转换成JSON格式。例如,我们有一个表单,包含三个字段:name、age、address,我们可以使用以下jQuery代码将表单序列化成JSON格式:
var formArray = $('#myForm').serializeArray();
var json = {};
$.map(formArray, function(n, i){
json[n['name']] = n['value'];
});
console.log(JSON.stringify(json));
例子中,我们首先使用jQuery的serializeArray()方法将表单数据序列化成一个数组,然后通过jQuery.map()方法进行遍历,并将每个元素的name作为key,value作为value组成一个JSON对象,最后使用JSON.stringify()方法将JSON对象转换成字符串格式的JSON数据。
2. 使用serialize()方法将表单序列化成一个URL编码的字符串
使用serialize()方法将表单序列化成一个URL编码的字符串,也可以将一个表单中的所有值转换成JSON格式,只是需要再使用decodeURIComponent()函数对齐进行解码,以获取实际的JSON数据。例如,我们有一个表单,包含三个字段:name、age、address,我们可以使用以下jQuery代码将表单序列化成JSON格式:
var formStr = $('#myForm').serialize();
var json = JSON.parse('{"' + decodeURIComponent(formStr).replace(/&/g, '","').replace(/=/g,'":"') + '"}');
console.log(JSON.stringify(json));
例子中,我们首先使用jQuery的serialize()方法将表单数据序列化成一个URL编码的字符串,然后通过replace()函数将字符串格式转换成JSON格式,最后使用JSON.parse()方法将JSON字符串解析成JSON对象,最后使用JSON.stringify()方法将JSON对象转换成字符串格式的JSON数据。
以上两个示例都可以将表单数据转换成JSON格式,从而方便地进行传输和处理。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Jquery把获取到的input值转换成json - Python技术站