Javascript 将二维表单元素序列化为对象

Javascript 将二维表单元素序列化为对象,javascript,jquery,Javascript,Jquery,不久前,我在堆栈上发现了一个方法,该方法允许我将表单元素转换为对象,下面是该方法: $.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name] !== undefined) { if (!o[this.name].push) {

不久前,我在堆栈上发现了一个方法,该方法允许我将表单元素转换为对象,下面是该方法:

$.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;
};
这适用于大多数表单,但现在我遇到了一个问题,它似乎无法处理输入数组,例如:

<input type="email" name="email[0]['address']" id="email" />
<input type="hidden" name="email[0]['type']" value="Support"/>

有人能帮我修改这个方法以允许多维数组输入吗

谢谢你