JSON 在 JavaScript 中重要,因其轻量、通用、易读,适用于数据交换、存储和传输。
为什么写这个文章,废话不多,直接近主题。
一、通用

一般采用jquery编写
	var key = $('#'+"cyberwin_form_card_newadd").serialize();结果:
TotalPrice=300&TotalCount=20&Memo=&paymethod%5B1%5D%5Bpaymethod_id%5D=1&paymethod%5B1%5D%5Bpaymethod_price%5D=200&paymethod%5B2%5D%5Bpaymethod_id%5D=2&paymethod%5B2%5D%5Bpaymethod_price%5D=50&paymethod%5B3%5D%5Bpaymethod_id%5D=7&paymethod%5B3%5D%5Bpaymethod_price%5D=50
二、form 序列号数组
(function($){  $.fn.serializeJson=function(){  var serializeObj={};  var array=this.serializeArray();  $(array).each(function(){  if(serializeObj[this.name]){  if($.isArray(serializeObj[this.name])){  serializeObj[this.name].push(this.value);  }else{  serializeObj[this.name]=[serializeObj[this.name],this.value];  }  }else{  serializeObj[this.name]=this.value;   }  });  return serializeObj;  }; })(jQuery); 
结果

但是有个问题
数组没有分开
三、多维数组转换json
<ul id="cyberwin_paymethod" class="cyberwin_paymethod">
<li><select class="input_sijiao" name="paymethod[1][paymethod_id]" tips=""><option value="1">现金</option><option value="2">信用卡</option><option value="3">电子钱包</option><option value="4">会员卡</option><option value="5">积分</option><option value="6">挂帐</option><option value="7">赠卷</option></select><input class="input_sijiao paymethod_price" name="paymethod[1][paymethod_price]" value="300"><input class="input_sijiao paymethod_delete" type="button" onclick="fun_未来之窗_删除支付_内页frame(this)" value="x"></li>
<li><select class="input_sijiao" name="paymethod[2][paymethod_id]" tips=""><option value="1">现金</option><option value="2">信用卡</option><option value="3">电子钱包</option><option value="4">会员卡</option><option value="5">积分</option><option value="6">挂帐</option><option value="7">赠卷</option></select><input class="input_sijiao paymethod_price" name="paymethod[2][paymethod_price]" value="100"><input class="input_sijiao paymethod_delete" type="button" onclick="fun_未来之窗_删除支付_内页frame(this)" value="x"></li>
<li><select class="input_sijiao" name="paymethod[3][paymethod_id]" tips=""><option value="1">现金</option><option value="2">信用卡</option><option value="3">电子钱包</option><option value="4">会员卡</option><option value="5">积分</option><option value="6">挂帐</option><option value="7">赠卷</option></select><input class="input_sijiao paymethod_price" name="paymethod[3][paymethod_price]" value="50"><input class="input_sijiao paymethod_delete" type="button" onclick="fun_未来之窗_删除支付_内页frame(this)" value="x"></li>
</ul>
这种一般是3维数组
(function($){  //WLZC_serializeJson//2024-2-29$.fn.WLZC_serializeJson=function(){  var wlzc_serializeObj={};  var array=this.serializeArray();  $(array).each(function(){ var wlzc_ei_name = this.name;//ymethod[1][paymethod_id]var ie = wlzc_ei_name.indexOf("[");if(ie >=0){//console.log("未来之窗编码,存在" + wlzc_ei_name);var wlzc_ei_name_yh1 =wlzc_ei_name.replace(/]/g,"");const wlzc_ei_name_Array = wlzc_ei_name_yh1.split("[");//console.log("未来之窗编码,分组");const  wlzc_ei_len = wlzc_ei_name_Array.length;console.log(wlzc_ei_name_Array);if(wlzc_ei_len == 3){var array_1 =wlzc_ei_name_Array[0];var array_2 =wlzc_ei_name_Array[1];var array_3 =wlzc_ei_name_Array[2];//错误 wlzc_serializeObj[array_1][array_2][array_3]=this.value;  //var jsonobj = array_2[array_3]=this.value;  var jsonobj_3=Array();jsonobj_3[array_3]=this.value;  //console.log("未来之窗编码,分组jsonobj_3");//console.log(jsonobj_3);var jsonobj_2=Array();jsonobj_2[array_2] = jsonobj_3;  //console.log("未来之窗编码,分组jsonobj_2");//console.log(jsonobj_2);//wlzc_serializeObj[array_1]=jsonobj_2;if(wlzc_serializeObj[array_1]){ }else{//	wlzc_serializeObj[array_1]=[];  wlzc_serializeObj[array_1]={};  }if(wlzc_serializeObj[array_1][array_2]){ }else{// wlzc_serializeObj[array_1][array_2]=[]; wlzc_serializeObj[array_1][array_2]={}; }if(wlzc_serializeObj[array_1][array_2][array_3]){ wlzc_serializeObj[array_1][array_2][array_3]=this.value;  }else{wlzc_serializeObj[array_1][array_2][array_3]=this.value;  }}}else{//未来之窗if(wlzc_serializeObj[this.name]){  if($.isArray(wlzc_serializeObj[this.name])){  wlzc_serializeObj[this.name].push(this.value);  }else{  wlzc_serializeObj[this.name]=[wlzc_serializeObj[this.name],this.value];  }  }else{  wlzc_serializeObj[this.name]=this.value;   }}});  return wlzc_serializeObj;  }; })(jQuery); 
结果输出

已经正常显示为json
四、将json对象转换为json字符串
var key=JSON.stringify(param4);;