使用Jquery SerializeArray()获取JSON键值对

使用Jquery SerializeArray()获取JSON键值对,jquery,forms,serialization,Jquery,Forms,Serialization,如何序列化表单 我想要什么 [{"itemId[0]":"143","quantity[0]":"0"}, {"itemId[1]":"142","quantity[1]":"0"}] 返回输出 [{"name":"itemId[0]","value":"143"},{"name":"quantity[0]","value":"0"}, {"name":"itemId[1]","value":"142"},{"name":"quantity[1]","value":"0"}] 我知道这个问题

如何序列化表单

我想要什么

[{"itemId[0]":"143","quantity[0]":"0"},
{"itemId[1]":"142","quantity[1]":"0"}]
返回输出

[{"name":"itemId[0]","value":"143"},{"name":"quantity[0]","value":"0"},
{"name":"itemId[1]","value":"142"},{"name":"quantity[1]","value":"0"}]
我知道这个问题很相似 ,但我还是没能解决它

到目前为止我的代码 javascript

....
for (var i = 0; i < checkboxes.length; i++) {

   var p1 = '<tr><td><input type="hidden" name="itemId[' + i + ']" value="' + cid + '" />';
   var p2 = '</td><td><input type="number" name="quantity[' + i + ']" value="0"/>';
   $('#tbody').append(p1 + p2 +'</td></tr>');
}


$('#getlist').click( function() {
   var formData = JSON.stringify($("#sendform").serializeArray());

alert(formData);

}
在元素上循环并按如下方式构建阵列:

$function{ var序列化=[]; $tr.eachfunction{ var itemId=$this.find[name^='itemId']; var quantity=$this.find[name^='quantity']; 序列化推送{ [itemId.attrname]:itemId.val, [数量.attrname]:数量.val } }; console.logserialized; }
<form action="" method="POST" id="sendform">
   <table class="table table-md tabledata table-bordered" id="user_data">
   <thead>
     <tr>
       <th>Item id</th>
       <th>Quantity</th>
     </tr>
   </thead>
   <tbody id="tbody">
   ....


  <button class="btn btn-success" id="getlist">Submit</button>
</form>
var complex = $("#sendform").serialize(); // name1=value1&name2=value2
var json = toSimpleJson(complex); // {"name1":"value1", "name2":"value2"}

function toSimpleJson(serializedData) {
   var ar1 = serializedData.split("&");
   var json = "{";
   for (var i = 0; i<ar1.length; i++) {
      var ar2 = ar1[i].split("=");
      json += i > 0 ? ", " : "";
      json += "\"" + ar2[0] + "\" : ";
      json += "\"" + (ar2.length < 2 ? "" : ar2[1]) + "\"";
   }
   json += "}";
   return json;
}
{"itemName%5B0%5D":"143","quantity%5B0%5D":"0","itemName%5B1%5D":"142", "quantity%5B1%5D":"0","itemName%5B2%5D":"141","quantity%5B2%5D":"0"}