Jquery 如何从HTML表单创建分层JSON字符串

Jquery 如何从HTML表单创建分层JSON字符串,jquery,html,json,forms,Jquery,Html,Json,Forms,我有一个基本的HTML表单,如下所示: <html> <form id="myform" action="something.cgi" method="post"> <select name="Container"> <option>container 1</option> <option>container 2</option> </select> <input name="element1"

我有一个基本的HTML表单,如下所示:

<html>
<form id="myform" action="something.cgi" method="post">
<select name="Container">
<option>container 1</option>
<option>container 2</option>
</select>
<input name="element1" type="text">
<!-- ... -->
</html>
我读过这篇文章,但使用JSON.stringify方法会返回如下结果:

{
    "Container": "Container 1",
    "element1": "value1",
    "element2": "value2",
    "element3": "value3",
    "element4": "value4",
}

我想知道是否有一个标准的方法来做这件事?谢谢你的帮助

如果要使用javascript,需要显式构建它,即:

var finalData = {
    Container:{
        'Group 1':{
            element1:'value1',
            element2:'value2'
        },
        'Group 2':{
            element3:'value3',
            element4:'value4'
        }
    }
};

JSON.stringify(finalData);

然而,如果你需要它是动态的,你需要非常巧妙地使用构造函数等等。由于它基于HTML表单,我认为项目列表是有限的,因此像上面这样的对象文字设置应该可以满足您的需要。

您能否扩展示例以显示
容器2
以及组1和组2定义。。。ie将生成给定json+a容器2的html是什么?程序如何知道如何对字段进行分组?@ArunPJohny问题是没有组的定义。html表单由名称和值组成。分组必须由生成JSON字符串的代码完成。@PlantTheldea您是对的,基础将是带有有限元素的html表单。如果我必须如此明确,我的想法是将表单数据发布为“普通”,并在CGI应用程序中将其转换为JSON。但是我认为会有一个通用的方法。。。
var finalData = {
    Container:{
        'Group 1':{
            element1:'value1',
            element2:'value2'
        },
        'Group 2':{
            element3:'value3',
            element4:'value4'
        }
    }
};

JSON.stringify(finalData);