需求为输入数据转为json对象,但有些json的键名是重复的,这一点如何区分?
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<title>SWCL_MANIFEST设置 </title>
<meta charset="utf-8">
<style type="text/css">
.group{margin: 10px 0; clear: both; display: flex;}
.left{float: left; width: 120px; text-align: right;}
.right{float: right; flex: 1;}
.size{margin: 5px 0;}
input[type='number']{width: 80px;}
.show{width: 400px; height: 400px; overflow: auto;}
input[type='button']{height: 40px;}
div{margin-bottom: 10px;}
</style>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<form
name="SWCL_MANIFEST设置"
action="#"
method="post"
enctype="multiple/form-data"
>
<h3>属性设置</h3>
<div class="group">
<div class="left">category:</div>
<div class="right">
<select name="category">
<option value="APPLICATION_LAYER">APPLICATION_LAYER</option>
<option value="PLATFORM_CORE">PLATFORM_CORE</option>
<option value="PLATFORM">PLATFORM</option>
</select>
</div>
</div>
<div class="group">
<div class="left">changes:</div>
<div class="right">
<input name = "changes" type="text">
</div>
</div>
<div class="group">
<div class="left">conficts:[</div>
<div class="right"><input type="button" value="add" onclick="add1()"></div>
</div>
<div class="group">
<div class="left">operator:</div>
<div class="right">
<select name="operator">
<option value=">=">>=</option>
<option value=">">></option>
<option value="==">==</option>
<option value="<="><=</option>
<option value="<"><</option>
</select>
</div>
</div>
<div class="group">
<div class="left">shortName:</div>
<div class="right">
<input type="text" name="shortName" >
</div>
</div>
<div class="group">
<div class="left">version</div>
<div class="right">
<input type="text" name="version" >
<div id="addElement1"></div>]
</div>
</div>
<div class="group">
<div class="left">depends:[</div>
<div class="right"><input type="button" value="add" onclick="add2()"></div>
</div>
<div class="group">
<div class="left">operator:</div>
<div class="right">
<select name="operator">
<option value=">=">>=</option>
<option value=">">></option>
<option value="==">==</option>
<option value="<="><=</option>
<option value="<"><</option>
</select>
</div>
</div>
<div class="group">
<div class="left">shortName:</div>
<div class="right">
<input type="text" name="shortName" >
</div>
</div>
<div class="group">
<div class="left">version</div>
<div class="right">
<input type="text" name="version" >
<div id="addElement2"></div>]
</div>
</div>
<div class="group">
<div class="left">licese:</div>
<div class="right">
<input name = "licese" type="text">
</div>
</div>
<div class="group">
<div class="left">perviousVersion:</div>
<div class="right">
<input name = "perviousVersion" type="text">
</div>
</div>
<div class="group">
<div class="left">shortName:</div>
<div class="right">
<input name = "shortName" type="text">
</div>
</div>
<div class="group">
<div class="left">uuuid:</div>
<div class="right">
<input name = "uuuid" type="text">
</div>
</div>
<div class="group">
<div class="left">vendorID:</div>
<div class="right">
<input name = "vendorID" type="text">
</div>
</div>
<div class="group">
<div class="left">version:</div>
<div class="right">
<input name = "version" type="text">
</div>
</div>
<div class="group">
<div class="left">
<input type="button" id="fun" value="convert" />
</div>
</div>
<div>结果:</div><div id="result"></div>
</form>
<script>
function add1(){
var a = "<div class=\"group\">"+
"<div class=\"left\">operator:</div>"+
"<div class=\"right\">"+
"<select name=\"operator\">"+
" <option value=\">=\">>=</option>"+
"<option value=\">\">></option>"+
"<option value=\"==\">==</option>"+
"<option value=\"<=\"><=</option>"+
"<option value=\"<\"><</option>"+
"</select>"+
"</div>"+
"</div>"+
" <div class=\"group\">"+
" <div class=\"left\">shortName:</div>"+
"<div class=\"right\">"+
" <input type=\"text\" name=\"shortName\" >"+
" </div>"+
" </div>"+
" <div class=\"group\">"+
"<div class=\"left\">version</div>"+
" <div class=\"right\">"+
" <input type=\"text\" name=\"version\" >"+
"</div>"+
" </div>"
$(addElement1).append(a);
}
function add2(){
var a = "<div class=\"group\">"+
"<div class=\"left\">operator:</div>"+
"<div class=\"right\">"+
"<select name=\"operator\">"+
" <option value=\">=\">>=</option>"+
"<option value=\">\">></option>"+
"<option value=\"==\">==</option>"+
"<option value=\"<=\"><=</option>"+
"<option value=\"<\"><</option>"+
"</select>"+
"</div>"+
"</div>"+
" <div class=\"group\">"+
" <div class=\"left\">shortName:</div>"+
"<div class=\"right\">"+
" <input type=\"text\" name=\"shortName\" >"+
" </div>"+
" </div>"+
" <div class=\"group\">"+
"<div class=\"left\">version</div>"+
" <div class=\"right\">"+
" <input type=\"text\" name=\"version\" >"+
"</div>"+
" </div>"
$(addElement2).append(a);
}
</script>
<script src="https://asset.cpming.top/js/lib/jquery.js"></script>
<script src="https://asset.cpming.top/js/lib/json.js"></script>
<script type="text/javascript">
$(function (){
$.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;
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/52647254643616.png "=600 #left")
}
$("#fun").click(function (){
var data = {};
$("form").serializeArray().map(function(x){
if (data[x.name] !== undefined) {
if (!data[x.name].push) {
data[x.name] = [data[x.name]];
}
data[x.name].push(x.value || '');
} else {
data[x.name] = x.value || '';
}
});
$("#result").html(JSON.stringify(data));
});
});
</script>
</body>
</html>
```