Jquery 如何从HTML表单创建分层JSON字符串
我有一个基本的HTML表单,如下所示: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>
<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);