大概就这样吧var str='表名1@字段1~表名1@字段2~表名2@字段1~表名2@字段2'var arr=str.split("~")var obj={}for(var i=0;i<arr.length;i++){ var temp=arr[i].split("@") var key=temp[0] var value=temp[1] obj[key]=(obj[key]||[]).concat([value])}console.log(JSON.stringify(obj))