将所有输入数据收集到结构化的json中

时间:2016-06-22 07:38:46

标签: javascript jquery json forms

我试图收集到JSON的html表单输入。

我试图用jQuery serializeArray来实现它,它适用于简单的输入名称,但是如果我有多维输入名称,如

<input type="text" name="product[0][name]" >

作为serializeArray的输出我有像

这样的对象列表
var result = $('#myform').serializeArray();
console.log( result );

0: Object
   name: "product[0][name]"
   value: "product 1"
   ...
1: Object
   name: "product[1][name]"
   value: "product 2"
   ...
...

也尝试使用JSON.stringify($('#myform').serializeArray());,但oputput再次包含连接名称作为键

[{"name":"product[0][name]","value":"product 1"}, ...

但是我想解析它或者使用jQuery或其他库中的其他知识函数来提供这样的输出

{
  product: [
      0: {'name':'product 1'},
      1: {'name':'product 1'},
      2: {'name':'product 1'},
  ],
  some_other_filed: [
      0: {'key':'value'},
      1: {'name':'value'}
  ]
}

任何人都知道这种情况的解决方案吗?

1 个答案:

答案 0 :(得分:2)

您可以使用jQuery serializeJSON plugin

$('#myform').serializeJSON();
console.log( result );